2012-03-26 7 views
1

Ich versuche, die Zeichenfolge eines Objekts in einer Tabellenzeile abzurufen, wenn darauf geklickt wird. Ich habe Tutorials über das Abrufen der Saite und das Übergeben der Saite an das synthetisierte Label gesehen, es ist mir jedoch nicht möglich, dieselbe Saite in meiner modalen Ansicht an eine synthetisierte Saite zu übergeben. Ist das möglich? Mein Code in der Elternansicht ist wie folgt.Übergeben einer Zeichenfolge an eine modale Ansicht

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    Modules *selectedModule; 
    selectedModule = [fixedArray objectAtIndex:indexPath.row]; 
    NSString *moduleComponent = [selectedModule valueForKey:@"name"]; 

    DetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"Detail"]; 


    [self.navigationController pushViewController:detail animated: YES]; 

    detail.number.text = moduleComponent; 

    detail.moduleLabel.text = moduleComponent; 



    detail.module = moduleComponent; 

} 

Die detail.moduleLabel.text zeigt jedoch richtig, wenn ich versuche ich null empfangen aufmerksam zu machen oder ein Etikett mit der detail.module zu ziehen. Jede Hilfe wird sehr geschätzt.

Antwort

0

Verschieben Sie [self.navigationController pushViewController:detail animated: YES];, nachdem Sie dem Detailcontroller den Wert zugewiesen haben.

EDIT: Ein weiterer Punkt zu beachten ist, wenn genau Sie versuchen, es zu warnen - viewDidLoad, viewWillAppear, viewDidAppear. Probieren Sie die verschiedenen Methoden aus, um zu sehen, was das Ergebnis ist. Ich entschuldige mich, aber ich kann es jetzt nicht testen und gebe Ihnen das Ergebnis selbst, aber ähnliches Verhalten (nicht zugewiesenen Wert) abhängig von dem bestimmten Ereignis (viewDidLoad, viewWillAppear, viewDidAppear), wo ich versuche, auf den Wert zuzugreifen.

+0

Sie waren es, weil ich den Wert nach der Nachricht PushViewController zugewiesen wurde. Ich habe den Fehler gemacht, anzunehmen, dass das Setzen des Labels direkt auf diese Weise funktioniert, also würde das auch passieren. Vielen Dank. – dmeads89