J'ai un UITableView avec un ViewController comme source de données et délégué. Dans le même XIB, j'ai une cellule personnalisée pour ma barre de recherche. La première cellule de la vue de table est cette cellule. Sporadiquement, je reçois un accident à l'exception suivante:Sélecteur non reconnu UITableViewCell
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewCell numberOfSectionsInTableView:]: unrecognized selector sent to instance 0x5d76840'
Gdb montre que c'est en fait ma cellule de recherche et qu'il est un enfant du tableview. De plus, une inspection plus poussée montre que la source de données pointe bien vers mon contrôleur de vue et non vers la cellule de la barre de recherche. Sur cette base, il semble que UIKit envoie simplement le message à la mauvaise cible. Quelqu'un a-t-il déjà vu quelque chose comme ça avant? Cela pourrait-il être un problème dans le simulateur?
pile complète:
*** Call stack at first throw:
(
0 CoreFoundation 0x012955a9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x013e9313 objc_exception_throw + 44
2 CoreFoundation 0x012970bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
3 CoreFoundation 0x01206966 ___forwarding___ + 966
4 CoreFoundation 0x01206522 _CF_forwarding_prep_0 + 50
5 UIKit 0x006a26ff -[UITableViewRowData(UITableViewRowDataPrivate) _updateNumSections] + 111
6 UIKit 0x006a23b0 -[UITableViewRowData invalidateAllSections] + 66
7 UIKit 0x00559d23 -[UITableView(_UITableViewPrivate) _updateRowData] + 113
8 UIKit 0x0055565c -[UITableView noteNumberOfRowsChanged] + 105
9 UIKit 0x00562708 -[UITableView reloadData] + 773
10 Foundation 0x00c6e94e __NSThreadPerformPerform + 251
11 CoreFoundation 0x012768ff __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
12 CoreFoundation 0x011d488b __CFRunLoopDoSources0 + 571
13 CoreFoundation 0x011d3d86 __CFRunLoopRun + 470
14 CoreFoundation 0x011d3840 CFRunLoopRunSpecific + 208
15 CoreFoundation 0x011d3761 CFRunLoopRunInMode + 97
16 GraphicsServices 0x01d3e1c4 GSEventRunModal + 217
17 GraphicsServices 0x01d3e289 GSEventRun + 115
18 UIKit 0x004f5c93 UIApplicationMain + 1160
19 iPanopto 0x000020f9 main + 121
20 iPanopto 0x00002075 start + 53
)
Comment ne pas le fixer correctement? Quelque chose ne va pas avec la sortie? La cellule est définie dans le même NIB que la tableview. – George
L'identificateur de classe doit être défini sur la classe personnalisée spécifique de la cellule. – craig1231
Est-ce une erreur d'utiliser UITableViewCell? Je n'ai aucun comportement spécial que je veux faire avec la classe de cellules, je juste ai le contrôleur de vue manipule tout. – George