Ich habe einen benutzerdefinierten UITableViewController ("ChatView"), der eine Ausgabe für eine tableView hat. Im Interface Builder habe ich das TableView in der Nib mit dem Outlet verbunden. Wenn die Ansicht geladen wird, erhalte ich den obigen Fehler. Die Ansicht wird über einen Tabcontroller geladen.
Ich habe etwas über den Fehler geforscht und ich kann das Problem nicht aufspüren. Ich würde mich freuen, wenn jemand mich in die richtige Richtung bringen könnte, um das zu lösen.
%Vor%Danke
Hatte ein ähnliches Problem. Der Laufzeitdump sagt:
geladene Feder, aber kein UITableView
erhalten
Ich hatte alles auf dem Storyboard in Ordnung gebracht. Ich hatte einen ViewController als Hauptklasse und hatte ein UITableView-Objekt mit einer benutzerdefinierten Zelle innerhalb.
Das Problem war jedoch, dass meine benutzerdefinierte Klasse "irgendwie" zu einem UITableView wurde anstatt:
%Vor%Nachdem ich den Storyboard-Typ mit dem benutzerdefinierten Klassentyp abgeglichen hatte, war alles in Ordnung.
Die Moral der Geschichte, xCode und der Compiler ist normalerweise richtig. Überprüfen Sie, ob Ihre Klassen übereinstimmen.
Wenn Ihre Klasse ein UITableViewController
ist, muss der view
outlet mit der Tabellenansicht verbunden sein. Wenn Sie eine Ansicht wollen, die ein UITableView
enthält, dann machen Sie den Controller einfach zu UIViewController
, was mit den Protokollen UITableViewDelegate
und UITableViewDataSource
übereinstimmt und das wird verschwinden.
ChatViewController
ist eine Unterklasse von UITableViewController
, deshalb nimmt der Compiler an, dass seine View-Eigenschaft ein UITableView
ist, was aber nicht der Fall war, deshalb haben Sie diesen Absturz bekommen. Ein UITableView
-Objekt muss mit Ihrem File's Owner
verknüpft sein:
In meinem Fall war mein View-Controller wirklich kein UITableViewController. Ich dachte es war, weil ich es auf meinem Storyboard so aussehen ließ. Tatsächlich war es ein Navigationscontroller und ich hatte ein UITableView darauf fallen lassen.
Ich konnte feststellen, dass es sich in Wirklichkeit nicht um einen UITableViewController handelte, indem ich die Datei .storyboard
in einem Texteditor betrachtete. Es ist XML, das ziemlich einfach zu lesen ist. Um das Problem zu lösen, löschte ich einen UITableViewController auf meinem Storyboard, kopierte alles aus dem Navigationscontroller, den ich verwendet hatte, und löschte dann den Navigationscontroller.
Ich habe auch die "load _ __ _ _ -Nib gelesen, aber kein UITableView bekommen." "I don ' Ich weiß, was es verursacht hat, aber es löste sich für mich, wenn ich einfach die anstößige Szene in meinem Storyboard bewegte (wie ein paar Pixel nach rechts und dann zurück zur ursprünglichen Position), die Datei speicherte, säuberte und neu erstellte.
Ich habe auch diese Fehlermeldung erhalten. Was mir passiert ist, dass ich bei gedrückter Strg-Taste ein Objekt View Controller auf mein Storyboard gezogen habe, aber die benutzerdefinierte Klasse war eigentlich eine Unterklasse UITableViewController und keine UIViewController-Unterklasse.
Zur Laufzeit, als meine benutzerdefinierte UITableViewController-Unterklasse ihre Ansicht geladen hat, erwartete sie eine UITableView, aber sie erhielt eine UIView vom Interface Builder. Die Fehlerbehebung bestand darin, das alte View-Controller-Objekt aus dem Storyboard zu löschen und bei gedrückter Strg-Taste stattdessen ein Tabellenansicht-Controller-Objekt zu ziehen.
Tags und Links objective-c cocoa-touch