当我使用isEqualToNumber
比较两个NSNumber时,如果两个数字都是nil
,则返回false。为什么排序[nil isEqual:nil]
的比较始终会返回false
而nil == nil
会返回true
?
答案 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的指针。另一方面,不存在的对象不等于任何东西。