-2
BOOL isChecked;

我这样声明布尔值。

它的默认值为NO吗?或者它的默认值是多少?【有没有?】

我应该始终在代码中自己将值设置为 YES 还是 NO ?

4

4 回答 4

1

通常,您不会创建指向 BOOL 的指针。因为它是一个指针,所以它的默认值是nil. 在您分配它之前,它实际上并不指向 BOOL,因此没有默认值。

你真的想要BOOL isChecked;,它会有一个默认值NO吗?

于 2013-07-08T11:04:34.367 回答
1

BOOL 不是对象,因此您的示例代码声明了一个不指向任何地方的指针。我想你的意思是: BOOL isChecked;

是的,您应该自己初始化它。在某些情况下(全局变量、实例变量),默认初始值将是 NO (0),但在其他情况下(局部变量)它将是未定义的。

于 2013-07-08T11:04:38.263 回答
0

如果您要声明一个属性,那么它将具有默认值 NO。否则如果它是一个局部实例变量,那么你就无法推测它的值。:)

于 2013-07-08T11:11:52.330 回答
0

如果 BOOL isChecked 是属性或 iVar,则默认值为 NO。但是如果它是一个局部变量,那么这个值就会有些垃圾。

于 2013-07-08T11:15:35.947 回答