我有一个更大的项目,此代码不会创建警告。我创建了一个新的小项目,只是为了为目标视图控制器尝试不同的想法。
我已经搜索了所有以前对类似问题的答案,并有以下想法。
1)我可以忽略警告,因为它工作得很好,但我不想。
2) 为什么我在较大的项目上没有收到警告,但在这个新项目上却收到了警告?当我将视图控制器类带到新项目时,我是否忘记了一些事情。
3) 自从我在 XCode4 和 iOS6 中开始了更大的项目后,发生了什么变化(尽管它在 XCode5 和 iOS7 中运行良好)?新项目是在 XCode5 中启动的,这有什么不同吗?
4)我可以通过导入目标视图控制器标题来消除警告,但我认为在我的项目中使用 respondsToSelector 作为方法 setMilage: 时我不应该这样做。
任何有助于提高我的理解的帮助将不胜感激。我确信我在某处犯了一个简单的错误,这只是令人沮丧,因为代码在一个项目中没有警告而在另一个项目中没有警告。
提前致谢。
ps 如您所料,我在 perfomSelector 也收到相同的警告。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"setMilage:"]) {
if ([segue.destinationViewController respondsToSelector:@selector(setMilage:)]) {
[segue.destinationViewController performSelector:@selector(setMilage:) withObject:self.milage];
}
}
}
完整的警告 - 语义问题未声明的选择器'setMilage:'