2015-01-30 2 views
-3

Привет У меня есть приложение с вкладками с 4 различными вкладками! Я хочу, чтобы моя третья вкладка (контроллер вида - thirdViewController) контролировала и диапазоны маяков оценки. Код в приложении делегата, который дает вышеуказанную ошибку прокомментирован один в методе приведен ниже:[UITabBarController setBeacons:]: непризнанный селектор отправлен в экземпляр

-(void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region { 
    NSString *message = @""; 

    ThirdViewController *viewController = (ThirdViewController*)self.window.rootViewController; 

    viewController.beacons = beacons; //this line of code gives the above error 
    [viewController.tableView reloadData]; 
} 
+0

возможно дубликат [Как я могу отладить «непризнанная селектор отправляется, например» ошибка] (http://stackoverflow.com/questions/25853947/ how-can-i-debug-unrecognized-selector-sent-to-instance-error) –

+0

Конечно, поскольку вы не указали полное сообщение об ошибке, вам становится намного сложнее помочь кому-либо. –

ответ

1

Вы говорите, что ваше приложение является вкладками приложения вида.

Если это так, то self.window.rootViewController в вашем AppDelegate вернет UITabBarViewController.

Вы, вероятно, может исправить ошибку с этим кодом:

- (void)locationManager:(CLLocationManager *)manager 
     didRangeBeacons:(NSArray *)beacons 
       inRegion:(CLBeaconRegion *)region { 

    NSString *message = @""; 
    UITabBarViewController *tabVc = (UITabBarViewController *)self.window.rootViewController; 
    ThirdViewController *viewController = (ThirdViewController*)tabVc.viewControllers[2]; 

    viewController.beacons = beacons;above error 
    [viewController.tableView reloadData]; 
} 
+0

Большое спасибо за ответ. Я, конечно, тоже попробую это сделать. Я исправил проблему, используя класс singleton. Но этот тоже кажется интересным –

Смежные вопросы