Bre*_*nan 0 objective-c xcode5
当我按下大写字母时键入TRUE或FALSE,它仍然假设我想要小写为真或假.在使用Objective-C时,我相信我们应该使用大写版本,即使它们当前是等效的,但是Xcode不断将其更改为true或false的事实让我第二次猜测.
任何人都知道我们现在可以使用真假吗?
true并false通过C99引入.true被定义为整数常量1,false并被定义为0每个规范的整数常量.
苹果公司TRUE和FALSE它的相当的定义相同的距离早C99.
事情是可以互换的.
然而,相对于你的要求,在Objective-C的人通常使用的YES和NO,而不是TRUE和FALSE.
截至最近版本的Clang支持盒装表达式,其定义如下:
#define YES __objc_yes
#define NO __objc_no
Run Code Online (Sandbox Code Playgroud)
编译器替换的(BOOL)1,(BOOL)0如果直接用作文字.使用盒装表达式时会出现差异.这个:
@YES
Run Code Online (Sandbox Code Playgroud)
......是一个[NSNumber numberWithBool:YES].除此之外,它还会通过身份(而不是值)与其他所有bool YES对象进行比较.这个:
@(true)
Run Code Online (Sandbox Code Playgroud)
......是一个[NSNumber numberWithInt:1].它会按价值进行比较,但不会按身份进行比较.
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |