NSMutableArray可以存儲每個NSObject,但我可以提到NSMutableArray只能存儲我的項目,例如,一個只存儲NSString的NSMutableArray? 我記得java數組可以做到這一點,目標C數組可以做類似的事情嗎?謝謝。NSMultableArray可以提到NSMultableArray中的哪個對象嗎?
1
A
回答
1
Objective-C在NSArray/NSMutableArray上沒有這種通用約束。因此,您有兩種解決方案:
- Subclass NSArray/NSMutableArray並檢查元素類型。由於NSArray/NSMutableArray是一個類「集羣」,並且對子類不明顯,所以非常不鼓勵。
- Create a category使用檢查正確類型的特定方法。您將擁有該類型的編譯時執行。
0
,您可以嘗試這樣的 -
NSMutableArray *arr = [[[NSMutableArray alloc] init] autorelease];
if([obj isKindOfClass:[NSString class]])
[arr addObject:obj];
這樣你最終只NSString
添加到您的編曲。
0
不是默認情況下,沒有。 NSArray及其可變對象只是存儲指向obj-c對象的指針。這些對象可以是任何類型的。這將取決於你確保只有NSString得到你的數組。
您可能會繼承NSArray的子類,並重寫addObject:方法,以便在嘗試添加非NSString對象時引發異常。
相關問題
- 1. 從NSMultableArray到CGPoint
- 2. 如何NSData的轉換NSMultableArray
- 3. 爲什麼不會這個代碼把對象的NSMultableArray
- 4. 我可以看到哪些對象正在引用特定對象嗎?
- 5. Linq to SQL - 您可以提交單個對象的更改嗎?
- 6. 創建一個可爲空的對象。可以做到嗎?
- 7. 我可以將對象添加到JavaScript中的另一個對象嗎?
- 8. PHP PDO在獲取數據時可以將數據提取到包含另一個對象的對象中嗎?
- 9. 我可以插入一個對象到NSDictionary中嗎?
- 10. 我可以註冊一個對象嗎?
- 11. Facebook對象可以有兩個URL嗎?
- 12. 一個OnGestureListener對象可以處理兩個GestureDetector對象嗎?
- 13. php - 一個對象可以引用父對象的方法嗎?
- 14. 是否可以確定通過哪個對象訪問對象?
- 15. 我可以得到一個對象的泛型類型嗎?
- 16. corona sdk。我可以得到一個對象的父類嗎?
- 17. 我在哪裏可以找到spatstat中類對象的定義
- 18. 您可以將一個對象添加到arraycollection中的一個arraycollection中嗎?
- 19. 可以將對象添加到VB.net中的結構中嗎?
- 20. 在C++中,對象可以爲null嗎?
- 21. 一個對象可以在scala中擴展抽象類嗎?
- 22. Java對象可以成爲Nashorn中JavaScript對象的原型嗎?
- 23. JSON對象可以擴展另一個json對象嗎?
- 24. 哪裏可以找到Qt的提交?
- 25. DbLinq的對象跟蹤性能可以提高嗎?
- 26. 可以將相同的對象添加到LINQ中的多個組中嗎?
- 27. 多個對象可以鏈接到RMI中的一個名稱嗎?
- 28. 我可以將對象連接到iOS中的更多IBActions嗎?
- 29. 數組可以添加到JavaScript中的對象嗎?
- 30. 我可以在另一個EJSON對象中嵌入一個EJSON對象嗎?
所以你不想在你的陣列中的任何其他對象,但NSString?是對的嗎? –