Ios 将属性从一个控制器分配到另一个控制器会出现错误
“未识别的选择器发送到实例”的情况太多了,我想我不会在这么多线程中找到我的。或者,如果我这样做,将需要一个月左右 简而言之。我收到此错误,我的情况是: 我有一个表视图,显示从核心数据获取的配方。当segue启动时,它获取目标控制器(即UITabBarController),并为其提供一个配方 segue方法的代码为:Ios 将属性从一个控制器分配到另一个控制器会出现错误,ios,unrecognized-selector,Ios,Unrecognized Selector,“未识别的选择器发送到实例”的情况太多了,我想我不会在这么多线程中找到我的。或者,如果我这样做,将需要一个月左右 简而言之。我收到此错误,我的情况是: 我有一个表视图,显示从核心数据获取的配方。当segue启动时,它获取目标控制器(即UITabBarController),并为其提供一个配方 segue方法的代码为: if ([segue.identifier isEqualToString:@"RecipeTabBarController"]) { RecipeTabBarContro
if ([segue.identifier isEqualToString:@"RecipeTabBarController"]) {
RecipeTabBarController *VC = segue.destinationViewController;
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
Recipe *recipe = (Recipe*)[_controller objectAtIndexPath:indexPath];
VC.recipe = recipe;
}
TabBarController(即VC)具有配方属性,如下所示:
@property (nonatomic, strong) Recipe *recipe;
当我点击该单元格时,segue将触发,并出现错误,控制台将显示以下消息:
2013-09-25 18:55:21.888 RecipeBank[974:60b]-[UITabBarController设置配方:]:发送到实例0x15da8280的选择器无法识别
2013-09-25 18:55:21.892 RecipeBank[974:60b]由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[UITabBarController setRecipe:::::]:未识别的选择器发送到实例0x15da8280'
第一次抛出调用堆栈:
(0x30583f53 0x3abec6af 0x305878e7 0x305861d3 0x304d5598 0x6676f 0x3319f6f1 0x665b7 0x32e1232b 0x32ec5253 0x32d75971 0x32ced473 0x3054f1d5 0x3054cb79 0x3054cebb 0x304b7ce7 0x304b7acb 0x35185283 0x32d59a41 0x67711 0x3b0f4ab7)
libc++abi.dylib:以NSException类型的未捕获异常终止
RecipeTabBarController导入header中的Recipe类,执行segue的TableViewController也为其导入RecipeTabBarController。所以这里没有错
有什么不对劲吗
请帮忙。谢谢。听起来目标视图控制器的类是
UITabBarController
,而不是您自己的类RecipeTabBarController
。在故事板中查看您是如何设置segue的,并找出为什么事情不是您所期望的。等等-导航控制器中有一个选项卡栏控制器?我认为导航应该在标签栏中,除非你们确定你们在做什么。就这样。谢谢(:这正是错误消息所说的,消息上的大多数其他“点击”都会解释这一点。