我是Objective-C的新手,我想知道为什么这种方法可以编译,谁能解释我为什么?
谢谢
-(BOOL) isEnabled{
return 56;
}
Objective-C 中的BOOL
是 signed char
的typedef
。由于56
适合该类型,因此从文字int
的隐式转换不会导致数据丢失。
你可以把 objective-c 中的 BOOL 想象成
false === 0 === nil //Anything that is zero or nil is false
true = !false //Anything that is NOT zero or nil is true.
因此,56 返回 true,因为它不为零