BOOL isChecked;
我这样声明布尔值。
它的默认值为NO吗?或者它的默认值是多少?【有没有?】
我应该始终在代码中自己将值设置为 YES 还是 NO ?
BOOL isChecked;
我这样声明布尔值。
它的默认值为NO吗?或者它的默认值是多少?【有没有?】
我应该始终在代码中自己将值设置为 YES 还是 NO ?
通常,您不会创建指向 BOOL 的指针。因为它是一个指针,所以它的默认值是nil
. 在您分配它之前,它实际上并不指向 BOOL,因此没有默认值。
你真的想要BOOL isChecked;
,它会有一个默认值NO
吗?
BOOL 不是对象,因此您的示例代码声明了一个不指向任何地方的指针。我想你的意思是:
BOOL isChecked;
是的,您应该自己初始化它。在某些情况下(全局变量、实例变量),默认初始值将是 NO (0),但在其他情况下(局部变量)它将是未定义的。
如果您要声明一个属性,那么它将具有默认值 NO。否则如果它是一个局部实例变量,那么你就无法推测它的值。:)
如果 BOOL isChecked 是属性或 iVar,则默认值为 NO。但是如果它是一个局部变量,那么这个值就会有些垃圾。