Objective-C:将 int 返回到 BOOL 方法



我是Objective-C的新手,我想知道为什么这种方法可以编译,谁能解释我为什么?

谢谢

-(BOOL) isEnabled{
   return 56;
}

Objective-C 中的BOOLsigned chartypedef。由于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,因为它不为零

最新更新