为什么xcode在调用未声明的方法时不显示错误



当我用默认的Xcode模板开始一个新项目时,
我像这样测试代码

-(void)test{
    NSArray *a = [[NSArray alloc] init];
    [a  nosuchmethod];        
}

Xcode的误差与"No visible....."相似但在另一个现有项目中,我再次测试这些代码,但xcode只抱怨警告

为什么会发生这种情况?有设置吗?

对于启用ARC的项目/文件,除了在id对象上,您不能调用任何存在的方法。这不适用于非arc项目。另外,新建项目默认是启用ARC的,所以你不能在新建项目中这样做。

例如,在启用ARC的项目/文件 中不允许这样做。
NSString *str = @"str";
[str appendString:@"str"];

你可以这样做,但是如果执行这一行,它会崩溃/抛出异常

[(id)str appendString:@"str"];

相关内容

  • 没有找到相关文章

最新更新