我正在尝试使用Objective-C将数据从我的ViewController传递到TabBarController。我正在尝试将一些数据分配给“bottomTabEventList”(这是我的自定义TabBarController类的属性)。不幸的是,我的程序因无法识别的选择器实例错误/警告而崩溃。
在TabBarController类的自定义标题中,名为BottomTabview:
@interface BottomTabView : UITabBarController <UITabBarControllerDelegate>
@property(strong,nonatomic)EventList *bottomTabEventList;
@end
ViewController.m中的prepareForSegue方法
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
BottomTabView *btw = [segue destinationViewController];
//checking
if(btw == nil)
NSLog(@"btw in viewController is nil");
else
NSLog(@"btw in viewController is NOT nil");
if(self.eventList.eventList == nil)
NSLog(@"eventList in viewController is nil");
else
NSLog(@"eventList in viewController is NOT nil"); //end of checking
btw.bottomTabEventList = self.eventList; //This is where crash appears
}
确切的崩溃日志是:
- [ViewController setBottomTabEventList:]:无法识别的选择器发送到实例0x7fe923c6ba00 ***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [ViewController setBottomTabEventList:]:无法识别的选择器发送到实例0x7fe923c6ba00'
Segue是从ViewController到BottomTabView,它的类型是“Present Modally”。如果你能帮助/指导我,我真的很感激。提前谢谢。
答案 0 :(得分:0)
问题似乎是a(n) = round((n^3 + 3*n^2 -9*n*(n % 2))/144)
实际上不是btw
类型而只是BottomTabView
因此崩溃日志给出了:
[ViewController setBottomTabEventList:]:无法识别的选择器发送到实例
由于UIViewController
不知道UIViewController
是什么。
您需要确保BottomTabEventList
实际上是btw
个实例。
做一点反省,我敢打赌它不会进入这个声明:
BottomTabView