Objective C noob hier. Ich verbinde von einer UITableViewCell mit einer ViewController-Unterklasse. Auf meinem Storyboard habe ich den UIViewController mit dem UITableView sowie eine benutzerdefinierte Klasse SubjectViewController mit dem Bezeichner "Subject".ViewController wird nur einmal geladen, App stürzt ab, wenn ich zurück gehe, dann wieder laden
Ich greife auch den Text in der ausgewählten Zelle, fügen Sie es zu NSUserDefaults hinzu, und verwenden Sie das als Titel der Betreff-Seite.
Wenn ich die App starte, startet der SubjectViewController beim ersten Klick auf eine UITableViewCell einwandfrei. Jede Funktionalität, die ich auf dieser Seite habe, funktioniert gut. Wenn ich jedoch wieder auf den Startbildschirm gehe, dann klicke auf ein anderes UITableViewCell, die App bleibt stehen und ich bekomme nur die Nachricht "11db".
Hier sind die beiden Methoden, die beteiligt sind:
Von ViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
// Store cell label in NSUserDefaults to later display as the title
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSString *cellID = cell.textLabel.text;
[defaults setObject:cellID forKey:@"sceneTitle"];
[defaults synchronize];
//Present subjects view controller
NSString * storyboardName = @"Main";
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle: nil];
SubjectViewController * subject = [storyboard instantiateViewControllerWithIdentifier:@"Subject"];
[self presentViewController:subject animated:YES completion:nil];
}
Von SubjectViewController.m
- (IBAction)subjectBackPressed:(id)sender {
NSString *storyboardName = @"Main";
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle: nil];
NSString *home = @"Head and Neck";
SubjectViewController * vc = [storyboard instantiateViewControllerWithIdentifier: home];
[self presentViewController:vc animated:YES completion:nil];
}
Lassen Sie mich wissen, wenn mehr Code/Informationen wäre hilfreich und ich werde diesen Beitrag bearbeiten.
Hallo, dies ist nicht, wie Sie einen View-Controller präsentieren und entlassen. Rufen Sie in der Methode "subjectBackPressed" einfach [self disneyViewController:] auf. Und schauen Sie sich an, wie Sie Daten zwischen den View-Controllern in iOS weitergeben können (verwenden Sie einen anderen Browser usw.) – abarbier
Irgendwelche spezifischen Ressourcen, von denen Sie denken, dass sie hilfreich wären? Ich habe Probleme beim Verständnis des Apple Programmierhandbuchs für Entwickler – Nate
Bitte lesen Sie http://www.raywenderlich.com/10209/my-app-crashed-now-what-part-1, um zu erfahren, wie Sie einen Absturz debuggen können. – rmaddy