Objective-C:将int返回BOOL方法

时间:2012-06-06 12:50:41

标签: objective-c methods integer boolean

我是Objective-C的新手,我想知道为什么这个方法会编译,有人能解释我为什么吗?

谢谢

-(BOOL) isEnabled{
   return 56;
}

2 个答案:

答案 0 :(得分:6)

Objective-C中的BOOLtypedef signed char。由于56适合该类型,因此文字int的隐式转换不会导致数据丢失。

答案 1 :(得分:0)

您可以将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,因为它不为零