Now that we have NSNumber literals with compiler support in Objective-C, is there a preferred way to compare NSNumber with a known integer value?
Old way [myNumber integerValue] == 5
[myNumber integerValue] == 5
Now we can do [myNumber isEqualToNumber:@5]or even [myNumber isEqualToNumber:@(someVariable)].
[myNumber isEqualToNumber:@5]
[myNumber isEqualToNumber:@(someVariable)]
Is there an advantage in the method isEqualToNumber:, or should we stick with integerValue if the value to compare with is already NSNumber?
isEqualToNumber:
One of the advantages that I see is that if some variables change from NSInteger to CGFloat, no new code changes are required for the new method.
The new way is the really new syntax around the old
[myNumber isEqualToNumber:[NSNumber numberWithInt:5]]
numberWithInt:; , , , /.
numberWithInt:
, . , , -, .
" " - .
, . ( - ), .
, .
, , .
float . , .
: [myNumber integerValue] == 5 .
( , , ) : iOS 5, "" NSNumbers ( Google). , NSNumber 24 ( 32- ARM- iPhone/iPad), . , , , 24 , myNumber == @5.
myNumber == @5
. [myNumber integerValue] == 5. Tagged , , .