XCode 4.4 の Convert to Modern Objective C Syntax を使用すると、私の[NSNumber numberWithBool:YES]呼び出しは に変換されました@(YES)。私は今忘れてしまったいくつかの問題を抱えており、それらを自分で に変更しました@YES。これは正しい構文であるはずです。
ただし、そうするとエラーが発生します。
予期しない型名 'BOOL': 予期される式
@YES「式」構文があることは知っていますが、単にand を使用できない理由がわかりません@NO。
// Compiler error:
NSDictionary *userDefaultsDefaults = @{@"hasBeenLaunched": @YES};
// No error
NSDictionary *userDefaultsDefaults = @{@"hasBeenLaunched": @(YES)};
@(YES)コンパイルしないのにコンパイルするのはなぜ@YESですか?それを修正するにはどうすればよいですか?