-1

“Unrecognized Selector Sent To Instance”的案例太多了,我想我不会在这么多线程中找到我的。或者,如果我这样做,将需要一个月左右的时间。

要简短。我收到此错误,我的情况是:

我有一个表格视图,显示从核心数据获取的食谱。当 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:]: unrecognized selector sent to instance 0x15da8280” First throw call stack: (0x30583f53 0x3abec6af 0x305878e7 0x305861d3 0x304d5598 0x6676f 0x3319f6f1 0x665b7 0x32e1232b 0x32ec5253 0x32d75971 0x32ced473 0x3054f1d5 0x3054cb79 0x3054cebb 0x304b7ce7 0x304b7acb 0x35185283 0x32d59a41 0x67711 0x3b0f4ab7) libc++abi.dylib: terminating with uncaught exception of type NSException

RecipeTabBarController 在 header 中导入 Recipe 类,并且执行 segue 的 TableViewController 也为其导入 RecipeTabBarController。所以那里没有错。

有什么问题?

请帮忙。谢谢。

4

1 回答 1

0

听起来目标视图控制器的类是UITabBarController而不是你自己的类RecipeTabBarController。查看你的故事板,了解你是如何设置 segue 的,并找出为什么事情不是你所期望的。

于 2013-09-26T00:24:04.043 回答