我的問題與標題一樣。但是,如果它不是一個對象,那麼如何將它作爲一個對象在NSMutableArray
中維護呢?因爲NSMutableArray
僅用於存儲對象或者我錯了嗎? :)像「int nameofvariable」這樣的變量是一個對象嗎?
0
A
回答
1
不,它不是一個對象,因此你可以不把它放在NSArray
。您必須將其包裝在NSNumber
中,這是一個對象,可以放在NSArray
中。
2
原始類型,如int
,必須先包裝在對象中,然後才能將其添加到類似NSMutableArray
的集合類中。試試這個:
int nameOfVariable = 42;
NSMutableArray *array = ... // the initialized array
[array addObject:@(nameOfVariable)];
最後一行是現代語法,基本上是指:
[array addObject:[NSNumber numberWithInt:nameOfVariable]];
後來,當你需要獲得值回,你這樣做:
int someVariable = [array[someIndex] intValue];
0
的int
是從C繼承的原始類型(其他基本類型的例子是char
,long
,float
等)。這些不是Objective-C對象。要將基元類型添加到NSMutableArray
或任何其他Objective-C集合中,必須將它們包裝在一個對象中。對於int
等數字類型,您可以使用NSNumber
,如下所示:
int i = 1;
[array addObject:@(i)]; // @(i) is equivalent to [NSNumber numberWithInt:i]
相關問題
- 1. 是int []一個對象嗎?
- 2. 這是一個對象嗎?
- 3. 變量可以像對象一樣對待嗎?
- 4. int是Java中的一個對象嗎?
- 5. 是一個Java類變量對類對象的引用嗎?
- 6. 如何讓IDE像對象一樣對待某個變量?
- 7. 可以這樣做嗎?這是不是很好(在同一個對象中有一個對象)?
- 8. 這樣的對象可以被認爲是不可變的嗎?
- 9. 如何在JQuery中定義像這樣的對象變量?
- 10. 這是一個vaild變量名嗎?
- 11. 比較一個對象的int變量與一個字符串
- 12. 循環訪問Dictionary對象'variableName'是一個'變量',但像'method'一樣使用
- 13. 爲什麼將一個函數(屬於一個對象)分配給一個變量的行爲是這樣的?
- 14. 如何更新這個圖像作爲一個int變量
- 15. 不能改變jQuery對象變量。這是範圍問題嗎?
- 16. 這個JSON對象是否包含一個變量?
- 17. 測試一個變量是一個基元而不是一個對象嗎?
- 18. 爲什麼這個變量正在像一個列一樣對待?
- 19. JSON對象和DTO是一樣的嗎?
- 20. 即使對於新對象,Lua表變量也是一樣的
- 21. 在playframework中設置像這樣的GLOBAL變量是否是一個好習慣?
- 22. 變量是一樣的成員變量
- 23. 我可以在Ruby/Java/C#中創建一個像這樣的對象嗎?
- 24. 通過python增加一個像*/2.4.7這樣的變量
- 25. 設置一個像這樣的變量$ config ['business']
- 26. 我應該聲明這是const int成員變量的類嗎?
- 27. python對象實例變量看起來像一個類變量?
- 28. 免費的Pascal有像Haskell這樣的類型變量嗎?
- 29. 函數返回一個會話對象 - 這樣好嗎?
- 30. 你能像這樣在ASP經典中聲明一個變量嗎?