tableView в xib не выбирает методы делегата источника данных в связанном контроллере представления - PullRequest
0 голосов
/ 15 августа 2011

Мой основной xib-файл имеет контроллер панели вкладок, и каждая вкладка связана с различным xib.

Одна из вкладок является контроллером навигации, и его контроллер представления связан с XIB согласно этому ответу .

Когда я запускаю приложение, я получаю сообщение об ошибке ниже. это как если бы он даже не смотрел в контроллере представления для этих методов.

Я перепробовал все, включая использование другой xib, проверку ссылок в конструкторе интерфейсов, то есть делегате и источнике данных tableview. Я реализовал необходимые методы протокола в VC, например. numberofrowsinsection.

как только я удаляю ссылку на источник данных в xib, ошибка исчезает.

РЕДАКТИРОВАТЬ: Когда я добавляю это представление контроллера представления в главное окно (только для проверки), просмотр таблицы загружается без проблем. Похоже, это происходит только тогда, когда я использую его как часть контроллера навигации и контроллера вкладок.

Завершение приложения из-за необработанного исключения 'NSInvalidArgumentException', причина: '- [UIViewController tableView: numberOfRowsInSection:]: нераспознанный селектор отправлен экземпляр 0x6120ae0 ' * Стек вызовов при первом броске: (0 CoreFoundation
0x00dc45a9 исключениеПроцесс + 185 1 libobjc.A.dylib
0x00f18313 objc_exception_throw + 44 2 CoreFoundation
0x00dc60bb - [NSObject (NSObject) делает NotRecognizeSelector:] + 187 3
CoreFoundation 0x00d35966 __ пересылка
+ 966 4 CoreFoundation 0x00d35522 _CF_forwarding_prep_0 + 50 5 UIKit
0x001d32b7 - [UISectionRowData refreshWithSection: tableView: tableViewRowData:] + 1834 6 UIKit
0x001d0d88 - [UITableViewRowData numberOfRows] + 108 7 UIKit
0x00084677 - [UITableView noteNumberOfRowsChanged] + 132 8 UIKit
0x00091708 - [UITableView reloadData] + 773 9 UIKit
0x0008e844 - [UITableView layoutSubviews] + 42 10 QuartzCore
0x016aea5a - [CALayer layoutSublayers] + 181 11 QuartzCore
0x016b0ddc CALayerLayoutIfNeeded + 220 12 QuartzCore
0x016560b4 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 310 13 QuartzCore 0x01657294 _ZN2CA11Transaction6commitEv + 292 14 QuartzCore
0x0165746d _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 99 15 CoreFoundation 0x00da589b CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 27 16 CoreFoundation 0x00d3a6e7 __CFRunLoopDoObservers + 295 17 CoreFoundation 0x00d031d7 __CFRunLoopRun + 1575 18 CoreFoundation
0x00d02840 CFRunLoopRunSpecific + 208 19 CoreFoundation
0x00d02761 CFRunLoopRunInMode + 97 20 графических сервисов
0x00ffc1c4 GSEventRunModal + 217 21 графических сервисов
0x00ffc289 GSEventRun + 115 22 UIKit
0x00024c93 UIApplicationMain + 1160 23 MyPractice
0x00002339 main + 121 24 MyPractice
0x000022b5 начало + 53) завершить вызов после броска экземпляра 'NSException'

1 Ответ

2 голосов
/ 15 августа 2011

Это сообщение журнала:

[UIViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 

. Предполагается, что метод UITableView dataSource отправляется экземпляру UIViewController, а не экземпляру вашего подкласса.Как вы инициализируете свой ВК?Если вы инициализируете его из XIB, правильно ли вы установили класс VC в свой подкласс?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...