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
ですか?それを修正するにはどうすればよいですか?