天天看點

int和NSInteger的差別

蘋果官方的API文檔中,對于NSInteger的描述:

When building 32-bit applications, NSInteger is a 32-bit integer.

A 64-bit application treats NSInteger as a 64-bit integer.

也就是說:在32位App中,NSInteger是32位整型,在64位App中,NSInteger是64位整型.

由此可知:NSInteger能夠自動比對,在32位應用中,表示32位的整型,而在64位應用中,表示64位整型。

32位和64位差別

但是32位和64位差別在哪呢?小編在此做一下筆記

32位程式設計和64位程式設計最大的不同,就在于指針的長度不同,由32位變成了64位。

API在很多情況下,都需要将整數轉換成指針或者相反。在 32 位的硬體上不會有問題,其中指針的大小和整數的大小是相同的,但在 64 位的硬體上卻完全不一樣。