What's the quickest way to compare a NSUInteger with an int (e.g. 5) in objective-c?
Background - I'm noting that the following line of code gives an error:
STAssertEquals([nsMutableArrayInstance count], 5, @"xxxx");
// gives Type Mismatch
So what I'm asking effectively is how to correct this to fix the error...
STAssertEquals
requires that you compare like types to like types. So add "U" to the number to make it an unsigned literal:
STAssertEquals([nsMutableArrayInstance count], 5U, nil);
Alternatively, you could use OCHamcrest to say:
assertThat(nsMutableArrayInstance, hasCountOf(5));
NSUInteger i = 42;
int j = 5;
if (i > j) {
NSLog(@"the universe has not ended yet");
}
Instead of using STAssertEquals
, you could use STAssertTrue
:
STAssertTrue([nsMutableArrayInstance count] == 5, @"xxxx");
Use
STAssertEquals([nsMutableArrayInstance count], (NSUInteger)5, @"xxxx");
(NSUInteger)5
does not look as clean as 5U
but it will also work correctly when compiling for 64-bit.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With