使用 isEqualToNumber 方法比较两个 NSNumbers
Comparing two NSNumbers using isEqualToNumber method
当我使用 isEqualToNumber
比较两个 NSNumbers 时,如果两个数字都是 nil
,则返回 false。为什么排序比较 [nil isEqual:nil]
总是 returns false
而 nil == nil
returns true
?
这是标准行为。你将从 isEqueslToString:
等得到相同的结果。这样更好,因为你可以有例如 weak
对不相等对象的引用,这将在释放时变得相等。
您可以使用 number1.intValue == number2.intValue
这样的条件,在这种情况下,它会 return YES
用于 2 nil
个对象。但是,您还将获得 YES
for nil.intValue == @0.intValue
[nil isEqual:nil]
比较对象,而 nil == nil
比较指针。
指向 nil 的指针始终等于指向 nil 的指针。另一方面,不存在的对象不等于任何东西。
当我使用 isEqualToNumber
比较两个 NSNumbers 时,如果两个数字都是 nil
,则返回 false。为什么排序比较 [nil isEqual:nil]
总是 returns false
而 nil == nil
returns true
?
这是标准行为。你将从 isEqueslToString:
等得到相同的结果。这样更好,因为你可以有例如 weak
对不相等对象的引用,这将在释放时变得相等。
您可以使用 number1.intValue == number2.intValue
这样的条件,在这种情况下,它会 return YES
用于 2 nil
个对象。但是,您还将获得 YES
for nil.intValue == @0.intValue
[nil isEqual:nil]
比较对象,而 nil == nil
比较指针。
指向 nil 的指针始终等于指向 nil 的指针。另一方面,不存在的对象不等于任何东西。