目标C中BOOL的值始终为NO(默认情况下)。但是最近我遇到了BOOL变量的值返回YES(默认情况下)的情况。任何人都可以向我解释一下吗?
答案 0 :(得分:22)
BOOL
没有价值,因为它是一种类型。
您可能意味着BOOL类型的变量。有不同类型的变量,它们具有不同的初始化语义:
alloc
承诺将所有实例变量设置为零,如果BOOL意味着NO
; 答案 1 :(得分:1)
如果在没有初始化的情况下声明变量,操作系统将随机分配内存,此时分配的内存可能包含一些垃圾值。垃圾可以代表No也可以是Yes值。
建议:始终使用正确的初始化声明变量,以避免代码中出现错误。