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

时间:2013-05-07 10:09:12

标签: ios xcode

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

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

Xcode显示错误,例如"No visible....." 但在另一个现有项目中,我再次测试这些代码,但xcode只是抱怨警告

为什么会这样? 有任何设置吗?

1 个答案:

答案 0 :(得分:1)

对于启用ARC的项目/文件,除id对象外,不能调用任何现有方法。这不适用于非ARC项目。此外,新项目默认为启用ARC,因此您无法在新项目中执行此操作。

例如,在启用ARC的项目/文件中不允许这样做

NSString *str = @"str";
[str appendString:@"str"];

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

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