Why is there an NSInteger?

后端 未结 3 538
-上瘾入骨i
-上瘾入骨i 2020-12-09 17:48

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 prog

相关标签:
3条回答
  • 2020-12-09 17:57

    A NSInteger will be 4 bytes on a 32-bit machine and 8 on a 64-bit.

    0 讨论(0)
  • 2020-12-09 18:07

    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.

    0 讨论(0)
  • 2020-12-09 18:17

    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.

    0 讨论(0)
提交回复
热议问题