2010-08-02 41 views
2

我創建了一個對象,它將有兩個整數(或NSNumber s)和一個NSDate作爲ivars。該對象將在NSMutableArray中。據我所知,我們不能將原生整數放入NSMutableArray,但我的對象是否會與int一起工作?我不想使用NSNumber的原因是因爲這些必須是可變的,我不想每次都創建一個新的NSNumber我應該在iPhone/iPad課程中使用NSNumber還是int?

另外,會不會使用int來製造iphone架構差異的問題?

回答

2

1)您可以安全地將int作爲ivars使用,因爲它們被包裝在另一個對象中。 NSNumber只是一個可用於不同數字類型的Cocoa類包裝器。

2)爲了安全起見,你可以使用NSUInteger,這是typedef ED這樣的:

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

所以你會得到正確的類型用於當前架構。

+0

謝謝!我沒有時間檢查,因爲我認爲我已經找到了使用NSInteger的方法,但是我相信你知道你在說什麼,並且如果NSInteger不工作,以後會嘗試整數。 – user396004 2010-08-02 22:10:13