“发送到实例的无法识别的选择器”有很多种情况,我认为我不会在这么多线程中找到它。或者,如果我这样做将需要一个月左右。
简短。我收到此错误,我的情况是:
我有一个表格视图,显示从Core Data获取的配方。当segue触发时,它会获取目标控制器(即UITabBarController),并为其提供配方。
segue方法的代码是:
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 setRecipe:]:无法识别的选择器发送到实例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在头文件和TableViewController中导入Recipe类,它也会执行segue导入RecipeTabBarController。所以没有错误。
可能出现什么问题?
请帮忙。感谢。
答案 0 :(得分:0)
听起来目标视图控制器的类是UITabBarController
而不是您自己的类RecipeTabBarController
。在你的故事板中查看你如何设置segue并弄清楚为什么事情不符合你的期望。