Jos*_*rey 5 objective-c xcode4 objective-c-literals
我只是在尝试作为Xcode 4.4的一部分引入的新的Objective-C文字语法.
字典,整数和数组都运行良好,但我一直遇到一个问题BOOL.例如:
NSDictionary *myDict = @{
@"foo": @"bar",
@"test": @YES
};
Run Code Online (Sandbox Code Playgroud)
给我"意外的类型名称'BOOL':预期的表达式"在布尔线的行上.
然而@(YES),@1,@true一切工作正常.
本文:http://clang.llvm.org/docs/ObjectiveCLiterals.html建议@YES应该有效.
我也尝试过它自己的行:NSNumber *myNum = @YES;并得到同样的错误.
错误?
这不是一个错误,而是因为苹果目前确实这样做
#define YES (BOOL)1
#define NO (BOOL)0
Run Code Online (Sandbox Code Playgroud)
代替
#define YES ((BOOL)1)
#define NO ((BOOL)0)
Run Code Online (Sandbox Code Playgroud)
这是在最新的 SDK 中修复的。
| 归档时间: |
|
| 查看次数: |
683 次 |
| 最近记录: |