-2

Xcodeデフォルトのテンプレートを使用して新しいプロジェクトを開始するときは、次の
ようなコードをテストします

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

Xcode"No visible....." but in another existing project のようなエラーが表示されますが、それらのコードを再度テストしますがxcode、警告のみが表示されます

なぜこれが起こったのですか?設定はありますか?

4

1 に答える 1

1

idARC が有効なプロジェクト/ファイルの場合、オブジェクト以外の既存のメソッドを呼び出すことはできません。これは、非 ARC プロジェクトには適用されません。また、新しいプロジェクトはデフォルトで ARC が有効になっているため、新しいプロジェクトではできません。

たとえば、これは ARC が有効なプロジェクト/ファイルでは許可されていません

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

これを行うことはできますが、この行が実行されるとクラッシュ/例外がスローされます

[(id)str appendString:@"str"];
于 2013-05-07T10:11:51.253 に答える