2012-02-02 77 views
3

我有一個核心數據值是「整數32」。我應該如何設置/從中獲取值?iPhone核心數據NSInteger,整數32,整型或其他

[NSNumber numberWithInteger:X] 

[NSNUmber numberWithInt:X] 

+3

他們是一樣的 – 2012-02-02 00:34:21

+0

他們是一樣的?謝謝。在64位機上的 – SpaceDog 2012-02-02 00:48:47

+4

NSInteger很長(整數64),但在iPhone上它們是相同的 – 2012-02-02 00:52:32

回答

6

NSInteger只是typedef對於int,所以你不會失去/獲得整數精度這樣或那樣。兩者都可以工作。

+0

thanksssssssssssssss! – SpaceDog 2012-02-02 00:48:58

+0

+1 - 另外,我在下面添加了如何在XCode中找到 – bryanmac 2012-02-02 00:51:32

8

正如傑克所說,這是一個typedef。要添加到答案,這裏是你如何找出答案。

在XCode中,按住Apple鍵並打開源文件。你會看到NSInteger成爲一個鏈接。點擊它後,它會打開它的定義。

#if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 ||  NS_BUILD_32_LIKE_64 
typedef long NSInteger; 
typedef unsigned long NSUInteger; 
#else 
typedef int NSInteger; 
typedef unsigned int NSUInteger; 
#endif 

此外,xlc0212的觀點是一個很好的觀點。如果你閱讀上面的定義,這很清楚。

+0

+1這是最令人敬畏的Xcode功能之一。非常適合快速查看公共方法/屬性。 – 2012-02-02 01:09:31