我有一个更大的项目,此代码不会创建警告。我创建了一个小型新项目,只是为目标View Controller尝试不同的想法。
我搜索过所有类似问题的答案,并有以下想法。
1)我可以忽略警告,因为它工作正常,但我不想。
2)为什么我不会在较大的项目上收到警告但是我在这个新项目上做了什么?当我将视图控制器类带到新项目时,我忘记了什么。
3)因为我在XCode4和iOS6中启动了更大的项目(虽然它在XCode5和iOS7中工作正常)但是有些变化了吗?并且新项目是在XCode5中启动的,这是否有所不同?
4)我可以通过导入目标视图控制器标头来消除警告,但我认为在使用respondsToSelector作为方法时,我不应该使用setMilage:在我的项目中。
非常感谢任何有助于提高我理解的帮助。我确信我在某个地方犯了一个简单的错误,这只是令人沮丧,因为代码在一个项目中没有警告而在另一个项目中没有警告。
提前致谢。
P.S。正如您所料,我也会在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];
}
}
}
完整警告 - Semantic Issue Undeclared selector'setMilage:'