我正在创建一个具有两个整数(或NSNumber
s)和一个NSDate
as ivars 的对象。该对象将位于NSMutableArray
. 据我所知,我们不能将原始整数放入 a 中NSMutableArray
,但我的对象可以与int
s 一起使用吗?我不想使用NSNumber
s 的原因是因为它们必须是可变的,而且我真的不想NSNumber
每次都创建一个新的。
另外,使用int
s 会产生 iphone 架构差异的问题吗?
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
因此,您将获得当前架构的正确类型。