使用isEqualToNumber方法比较两个NSNumber

时间:2015-02-18 08:33:53

标签: ios comparison null nsnumber

当我使用isEqualToNumber比较两个NSNumber时,如果两个数字都是nil,则返回false。为什么排序[nil isEqual:nil]的比较始终会返回falsenil == nil会返回true

2 个答案:

答案 0 :(得分:3)

这是标准行为。您将从isEqueslToString:等获得相同的结果。这样做更好,因为您可以对不等对象进行weak引用,这将成为相等的uppon deallocation。

您可以使用number1.intValue == number2.intValue之类的条件,在这种情况下,它会为2 YES个对象返回nil。但是,YES

也会获得nil.intValue == @0.intValue

答案 1 :(得分:0)

[nil isEqual:nil]比较对象,nil == nil比较指针。

指向nil的指针始终等于指向nil的指针。另一方面,不存在的对象不等于任何东西。