Ios 将属性从一个控制器分配到另一个控制器会出现错误

Ios 将属性从一个控制器分配到另一个控制器会出现错误,ios,unrecognized-selector,Ios,Unrecognized Selector,“未识别的选择器发送到实例”的情况太多了,我想我不会在这么多线程中找到我的。或者,如果我这样做,将需要一个月左右 简而言之。我收到此错误,我的情况是: 我有一个表视图,显示从核心数据获取的配方。当segue启动时,它获取目标控制器(即UITabBarController),并为其提供一个配方 segue方法的代码为: if ([segue.identifier isEqualToString:@"RecipeTabBarController"]) { RecipeTabBarContro

“未识别的选择器发送到实例”的情况太多了,我想我不会在这么多线程中找到我的。或者,如果我这样做,将需要一个月左右

简而言之。我收到此错误,我的情况是:

我有一个表视图,显示从核心数据获取的配方。当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设置配方:]:发送到实例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的,并找出为什么事情不是您所期望的。

等等-导航控制器中有一个选项卡栏控制器?我认为导航应该在标签栏中,除非你们确定你们在做什么。就这样。谢谢(:这正是错误消息所说的,消息上的大多数其他“点击”都会解释这一点。