Я создаю базовое приложение iBeacon с одним представлением с таблицей, отображающей маяки и их свойства. Когда это всего лишь приложение с одним представлением, все работает правильно.Контроллеры навигации и rootViewController
Но когда я встраивать этот единственный вид в навигационном контроллере, я не получаю ошибку ниже:
2014-10-15 16:47:09.633 beacon-iphone[14524:4714482] -[UINavigationController setBeacons:]: unrecognized selector sent to instance 0x14d890f0
2014-10-15 16:47:09.634 beacon-iphone[14524:4714482] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UINavigationController setBeacons:]: unrecognized selector sent to instance 0x14d890f0'
который я считаю, из-за этих строк кода в моем AppDelegate.m
, как оригинальный вид таблицы нет дольше rootViewController
, когда он встроен в навигационный контроллер.
-(void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region {
ViewController *viewController = (ViewController*)self.window.rootViewController;
viewController.beacons = beacons;
[viewController.tableView reloadData];
// Do stuff if beacons are found
}
Как я должен реорганизовать это для управления навигационным контроллером? Прошу прощения, если это тривиальный вопрос, поскольку я все еще новичок iOS
Ниже приведена раскадровка с рабочим кодом. Как уже упоминалось, он только ломается, когда я вставлять это в контроллер представления Навигационный контроллер
Это генерирует предупреждение: 'Несовместимые типы указателей, инициализирующие 'ViewController *' с выражением типа 'UIViewController *'' в строке 'ViewController * viewController = nav.topViewController' – Anconia
@Anconia, извините, это потому, что я остановился литой в этой строке. Я обновил свой ответ – rdelmar
Забавный, я просто набрал его и готов был ответить - спасибо за быстрый ответ! Будет ли тип каста зрения иметь какие-либо выговоры? – Anconia