我正在使用拆分视图控制器应用程序,我有两个视图,一个详细视图和一个第二个视图。当我的第一个视图上的值被选中时。 (说我们选择狗)。我的第二个视图在左窗格中加载了一些选项。因此,当我选择颜色时从左侧窗格。我希望我的uilabel能够阅读。“狗是黑色的”或者如果我从第一个视图中选择了猫,我希望它能看到猫是黄色的。当我选择颜色。
所以我所做的是,在didSelectRowAtIndexPath中我有
if ([[animalArray objectAtIndex:indexPath.row]isEqualToString:@"dog"] )
{
secondView *detailList=[[secondView alloc]init];
[self.detailViewController.navigationController pushViewController:detailList animated:YES];
self.activeOption=@"dog";
//defined as @property (nonatomic, assign) NSString *activeOption; in .h file
}
然后在我的第二个视图中(试图提取最重要的东西) .h文件
@property (nonatomic,retain) DetailViewController *detailViewController;
的.m
- (void)viewDidLoad
{
[super viewDidLoad];
self.detailViewController = (DetailViewController *)[[self.splitViewController.viewControllers lastObject] topViewController];
if ([self. detailViewController.activeOption isEqualToString:@"dog"]) {
self.labelOne.text=@"The Dog is Black";
}
}
现在我的问题是,当我点击该行加载第二个视图(狗)时,我收到此错误.- [secondView activeOption]:发送到实例的无法识别的选择器。 现在我相信当你调用一个不存在的方法时你会得到它,所以虽然方法确实存在,但它在secondView中不存在但在DetailView中所以我也迷失了为什么它正在寻找那里方法。即使我说self.detailviewController。 谢谢