objective-c代码这样写有什么特含义吗?-(void)setLoadavatar:(BOOL)loadAvatar { if(!loadAvatar_ = loadAvatar) {}}

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/02 22:42:00

objective-c代码这样写有什么特含义吗?-(void)setLoadavatar:(BOOL)loadAvatar { if(!loadAvatar_ = loadAvatar) {}}
objective-c代码这样写有什么特含义吗?
-(void)setLoadavatar:(BOOL)loadAvatar {
if(!loadAvatar_ = loadAvatar) {

}

objective-c代码这样写有什么特含义吗?-(void)setLoadavatar:(BOOL)loadAvatar { if(!loadAvatar_ = loadAvatar) {}}
两个非运算符往往是为了把非0值转换成1,因为!0 = 1
比如 int a=10
!a = 0;
!a = 1;
所以!a并不等于a
因此你这个loadAvatar_变量应该不是BOOL类型
不过在OC中,0是NO,其它都是YES,所以写成loadAvatar_!= loadAvatar也并不危险
一个int型和BOOL型判断是否相等,用这个方法是比较严谨的