使用 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
,我能做些什么来解决这个问题?