Iphone: TabView + TableView
Ich glaube, ich bin etwas fehlt einfach, aber ich kann nicht herausfinden, was es genau ist.
Ich versuche, eine App mit einem UITabViewController
, und eine der Registerkarten wird eine UITableView und UISearchBar (aber keine Navigation-Controller). Ich UITabViewController
mit allen tabs im interface builder, und die Ansichten sind in Ihren eigenen xib-Dateien. Die xib-Datei für die Registerkarte mit den UITableView
ist eingerichtet und wie folgt angeschlossen.
Zeug im browser:
File ' s owner (Klasse ist meine eigene Klasse, die ein Kind von UITableViewController) Ansicht -> Ansicht
View (class UIView, reference view -> File's owner) contains:
UITableView (if i try and set references to the data source /delegate, the app breaks)
UISearchBar (unconfigured at the moment)
Diesem setup zeigt alle Elemente und blockiert nicht, aber ich kann Sie nicht zuweisen einer Datenquelle, ohne dass es abstürzt, wenn ich versuche, laden Sie die Register mit der UITableView. Was sollte ich tun, um Daten in diese Tabelle, entweder in IB oder code? Meine Ideen sind wie folgt:
- Implementieren custom UITableView Klasse, Haken bis zu der Tabellenansicht im IB oder um eigene tableviewcontroller in Xcode.
- Pfund Brust oder laptop gegen die Wand, bis es funktioniert.
Update:
Hier der Fehler der simulator drückt, um die Konsole an, wenn ich schließen Sie das Tableview-data-source und delegate-Datei-Besitzer (die s-Klasse ist mein custom tableviewcontroller).
2/14/09 6:59:12 PM TabBarWillbeRight[33172] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[UIViewController tableView:numberOfRowsInSection:]: unrecognized selector geschickt Instanz 0x523760
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte ein ähnliches Problem mit der gleichen Fehlermeldung. Die einfache Lösung war, klicken Sie auf die Ansicht in der TabBarController (Die graue Rechteck, das sagt, "Ansicht geladen..") in IB und ändern Sie die Klasse des Elements zu den classname meiner TableViewController.
Ich hatte das gleiche problem.
1. Stellen Sie sicher, dass die Ansicht implementiert die datasource-Methoden
2. In IB, setzen die Klasse Identität für Ihre Sicht auf die Klasse die Implementierung des datasource-Methoden.
3. Der rechten Maustaste auf die Ansicht im IB und überprüfen Sie die datasource verknüpft ist Dateien Inhaber, nicht Ansicht
Wenn Sie keine Zuordnung der DataSource, ohne dass es abstürzt, dann deutet darauf hin, dass einige der die DataSource, delegate-Methoden wurden nicht implementiert.
Insbesondere die Klasse, die Sie zuweisen als Datenquelle implementieren sollte UITableViewDataSource
Sind Sie sicher, dass die Klasse implementiert UITableViewDelegate und UITableViewDataSource Klassen? Überprüfen Sie auch die Deklaration der viewcontroller. Ihre .h-Datei sollte so etwas wie dieses
Alles andere scheint in Platz. Wenn die Klasse Erklärung nicht angeben, dass es implementiert UITableViewDelegate und DataSource, erhalten Sie die exception, sobald Sie legen Sie die datasource.