我已经读过这两个是相同的,但是如果我用true/false
而不是代码,我的代码就不起作用了YES/NO
.例如,如果我这样做
BOOL matchFound=false;
//...
//logic to change value of matchFound to `true` goes here
//...
if(!matchFound) NSLog(@"I did not find a match");
Run Code Online (Sandbox Code Playgroud)
以上不能正常工作.但如果我改为使用YES/NO,它就可以了.这是为什么?
这是因为YES/NO实际上不是布尔值,而是它们是有符号的char类型.这是旧C天的遗物,没有布尔类型.
下面链接的文章将详细解释,但一般情况下,在iOS中处理BOOL值时,应始终使用YES/NO.
http://iosdevelopertips.com/objective-c/of-bool-and-yes.html
希望这可以帮助!
归档时间: |
|
查看次数: |
960 次 |
最近记录: |