Reputation: 2151
If NSInteger
is just like a regular int
then why does it exist and what is its purpose in being called NSInteger
?
I'm new to Mac OS X programming and we'll be having a report for this.
Upvotes: 16
Views: 1478
Reputation: 89997
Other than the typedef being different on different systems (long
on 64-bit systems, int
on 32-bit), there isn't much of a reason.
Arguably, it gives the impression that an NSInteger
is an object, when it's not.
Upvotes: 2
Reputation: 21989
It's an architecture-safe (64 vs 32 bit) type to support different platforms and implementations of C.
Apple recommends that you use NSInteger
over normal types anyway, I would assume for portability!
You can read more at this Foundation Types Reference.
Basic description:
When building 32-bit applications, NSInteger is a 32-bit integer. A 64-bit application treats NSInteger as a 64-bit integer.
Upvotes: 22