In meinem aktuellen XCode-Projekt habe ich zwei View-Controller. Der erste, der erste View-Controller, hat nur eine Schaltfläche. Der zweite Ansichtscontroller ist eine Unterklasse von UITableViewController
. Ich definierte eine benutzerdefinierte Tabellenansichtszelle im Storyboard, gab ihr eine Wiederverwendungskennung und definierte eine benutzerdefinierte Klasse und verknüpfte die relevanten IBOutlets.UITableViewCell Storyboard-Registrierung abhängig vom Initial View Controller?
Nach dem Start der App, wenn die Taste gedrückt wird, wird die zweite Ansicht Controller über die erste über self.presentViewController(secondViewController, animated: true, completion: nil)
modal präsentiert. Die beiden View-Controller sind nicht im Storyboard durch ein Segment verbunden. Nach dieser modal segue, während des Baus des Tisches, stürzt es mit dem Fehler:
'unable to dequeue a cell with identifier PlaylistCell - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'
Wenn jedoch die Tabelle View-Controller die anfängliche View-Controller ist, ist es nicht zum Absturz bringen und zeigt alle Daten korrekt. Ich frage mich, ob die Nib-Registrierung davon abhängig ist, dass der View-Controller über das Storyboard mit dem ursprünglichen View-Controller verbunden ist.
EDIT: Ich habe meinen Fehler herausgefunden. Für andere Menschen, die sich in diesem Problem zu finden, wurde initialisiert ich meine zweite View-Controller wie:
let vc = SecondViewController()
Aber Sie haben es so intialize, wenn Sie es über Storyboard Design:
let storyboard = UIStoryboard(name: "Main", bundle: nil) let vc = storyboard.instantiateViewControllerWithIdentifier("SecondViewController")