iPhone - 核心数据NSInteger,integer32,int或其他

时间:2012-02-02 00:32:32

标签: iphone objective-c ios xcode core-data

我的核心数据值是“整数32”。我该如何设置/获取此值?

[NSNumber numberWithInteger:X]

[NSNUmber numberWithInt:X] 

2 个答案:

答案 0 :(得分: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的观点很好。如果您阅读上面的定义,那就非常清楚了。

答案 1 :(得分:6)

NSInteger只是typedef的{​​{1}},因此您不会以这种或那种方式丢失/获得整数精度。两者都有效。