2

我正在创建一个具有两个整数(或NSNumbers)和一个NSDateas ivars 的对象。该对象将位于NSMutableArray. 据我所知,我们不能将原始整数放入 a 中NSMutableArray,但我的对象可以与ints 一起使用吗?我不想使用NSNumbers 的原因是因为它们必须是可变的,而且我真的不想NSNumber每次都创建一个新的。

另外,使用ints 会产生 iphone 架构差异的问题吗?

4

1 回答 1

2

1)您可以安全地将整数用作 ivars,因为它们被包裹在另一个对象中。NSNumber 只是不同数字类型的 Cocoa 类包装器。

2)为了安全起见,你可以使用NSUInteger,它是typedef这样编辑的:

#if __LP64__ || NS_BUILD_32_LIKE_64
typedef long NSInteger;
typedef unsigned long NSUInteger;
#else
typedef int NSInteger;
typedef unsigned int NSUInteger;
#endif

因此,您将获得当前架构的正确类型。

于 2010-08-02T21:52:33.870 回答