小编tzu*_*hiu的帖子

NSNumber:NO == 0?

NSNumber *x = [NSNumber numberWithBool:NO];
NSNumber *y = [NSNumber numberWithUnsignedInt:0];
assert([x isEqual:y]);
assert(x==y);
Run Code Online (Sandbox Code Playgroud)

第一个断言通过,第二个断言失败,为什么?因为他们的'objCType'不同?isEqual:和==运算符的定义有什么区别?

为什么我这样做:我必须在某些后端存储一个布尔值,其API需要NSNumber而不是BOOL,所以我必须在存储它们之前将所有BOOL转换为NSNumber.我也需要转换反之亦然.

objective-c

1
推荐指数
1
解决办法
269
查看次数

标签 统计

objective-c ×1