numberOfRowsInSection - unrecognized selector geschickt Instanz Problem
Ich immer dieses Problem beim ausführen meiner Anwendung. Es kompiliert erfolgreich:
GNU gdb 6.3.50-20050815 (Apple version gdb-1518) (Thu Jan 27 08:30:35 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-apple-darwin".Attaching to process 1833.
2011-06-01 10:20:07.576 MicroBetas[1833:207] -[UIApplication tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x4d0f9e0
2011-06-01 10:20:07.580 MicroBetas[1833:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIApplication tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x4d0f9e0'
*** Call stack at first throw:
(
0 CoreFoundation 0x00ecbbe9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x00cc05c2 objc_exception_throw + 47
2 CoreFoundation 0x00ecd6fb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
3 CoreFoundation 0x00e3d366 ___forwarding___ + 966
4 CoreFoundation 0x00e3cf22 _CF_forwarding_prep_0 + 50
5 UIKit 0x001cff16 -[UISectionRowData refreshWithSection:tableView:tableViewRowData:] + 1834
6 UIKit 0x001cd9e7 -[UITableViewRowData numberOfRows] + 108
7 UIKit 0x000848c2 -[UITableView noteNumberOfRowsChanged] + 132
8 UIKit 0x000912b8 -[UITableView reloadData] + 773
9 UIKit 0x0008e470 -[UITableView layoutSubviews] + 42
10 QuartzCore 0x01612451 -[CALayer layoutSublayers] + 181
11 QuartzCore 0x0161217c CALayerLayoutIfNeeded + 220
12 QuartzCore 0x0160b37c _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 310
13 QuartzCore 0x0160b0d0 _ZN2CA11Transaction6commitEv + 292
14 UIKit 0x0001a19f -[UIApplication _reportAppLaunchFinished] + 39
15 UIKit 0x0001a659 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 690
16 UIKit 0x00024db2 -[UIApplication handleEvent:withNewEvent:] + 1533
17 UIKit 0x0001d202 -[UIApplication sendEvent:] + 71
18 UIKit 0x00022732 _UIApplicationHandleEvent + 7576
19 GraphicsServices 0x01021a36 PurpleEventCallback + 1550
20 CoreFoundation 0x00ead064 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
21 CoreFoundation 0x00e0d6f7 __CFRunLoopDoSource1 + 215
22 CoreFoundation 0x00e0a983 __CFRunLoopRun + 979
23 CoreFoundation 0x00e0a240 CFRunLoopRunSpecific + 208
24 CoreFoundation 0x00e0a161 CFRunLoopRunInMode + 97
25 UIKit 0x00019fa8 -[UIApplication _run] + 636
26 UIKit 0x0002642e UIApplicationMain + 1160
27 MicroBetas 0x00002299 main + 121
28 MicroBetas 0x00002215 start + 53
)
terminate called after throwing an instance of 'NSException'
sharedlibrary apply-load-rules all
Current language: auto; currently objective-c
(gdb)
Code scheint es zu sein, immer stecken in:
- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section {
return [self.colorNames count];
}
- Was ist tableView? bitte zeigen Sie den relevanten code.
- Der code scheint es zu sein, immer am stuck ist:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [self.colorNames count]; }
- bitte Bearbeiten Sie die Frage nicht fügen Sie diese in die Kommentare.
[UIApplication tableView:numberOfRowsInSection:]: unrecognized selector
-- Das sagt alles. Sie sind mit Ihrem UIApplication-Objekt für die Datenquelle eines Tableviews, und es weiß nicht, wie das zu tun. (Den code, den Sie Liste wird nie aufgerufen, weil Sie die falsche Datenquelle Zeiger.)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Instanz der Klasse, die Sie zuweisen
DataSource
nicht implementieren dieUITableViewDataSource
Funktionen.versuchen wie unten.
*Hinweis
self
ist die Instanz vonMyClassController
implementieren Sie die Methode des
UITableViewDataSource
Protokoll.Es ist sehr wahrscheinlich, dass Sie beabsichtigt, Ihre Anwendung delegieren zu Ihrer Datenquelle, jedoch versehentlich aus der
File's Owner
, die dieUIApplication
- Objekt der datasource. Dies ist der Grund, das application-Objekt zu sein scheint, bekommen die Daten Anfragen.File's Owner
und überprüfen Sie dieIdentity Inspector
auf der rechten Seite. Was ist der name der Klasse dort?Window-based Application
eher als eineView-based Application
bei Erstellung des Projekts. Sie können in Betracht ziehen vorbei.Überprüfen Sie Ihre Daten-source und delegate-outlet sind ordnungsgemäß mit dem viewController...
Dieser arbeitete für mich..
Ist das problem wahrscheinlich verursacht durch die Zuordnung der Besitzer der Datei als Table View delegate und data source. Wie andere erwähnt haben, der Besitzer der Datei ist ein UIApplication-Objekt, das nicht konform zu den UITableViewDelegate und UITableViewDataSource Protokolle, die UITableView entsprechen muss. Wenn Sie mit
IB
, verbinden Sie einfach dieTable View
es respektiertView Controller
sowohl für die Delegierten und die Datenquelle anstelle der File ' s Owner.Habe ich nur konfrontiert mit diesem problem, und ich denke, in einigen Fällen dieses problem ist, weil der neue XCode Fehler.
-Lösche ich die Tabelle view-Objekt in der xib-Datei.
-Erstellen Sie es neu und verbinden Sie dann den datasource und delegate der Besitzer der Datei sind.
-Reinigen Sie das Projekt dann erneut ausgeführt wird, funktioniert es ohne Fehler.
Ich einfach gelöscht, der tableView ist in Verbindung XIB gelöscht und die tableView neu erstellt und es.
Gearbeitet.
Dank @ENVIL