2012-08-26 89 views
-3

我有一個NSMutableArray。我想從NSMutableArray作出NSArray使用for循環NSMutableArray我試過了,但我不能這樣做。從NSMutableArray製作NSArray

+1

發佈不適合你的代碼,讓這裏的人幫你修復它。 –

回答

4

沒有必要循環。您可以從可變數組這樣

NSArray *myUnMutableArray = [[NSArray alloc] initWithArray:myMutableArray]; 
+0

謝謝....................... – user1594692

+2

@ user1594692如果這個答案對你有幫助,一定要把它標記爲正確的答案。 –

7

創建unmutable數組而不是遍歷數組項,你可以把一個可變的數組轉換成不可變的數組與copy方法

NSArray *newArray = [myMutableArray copy]; 

copy是一個方便的方法。如果您將其發送給可變/不可變類羣集的可變成員,它將返回一個不可變副本。但是如果你將它發送給一個不可變的成員,它只是返回與另一個保留相同的對象。

也有mutableCopy這將返回一個可變版本的任何發送到。

返回一個擁有(保留)對象的行爲是爲什麼內存管理的指導方針建議解除與newallocretaincopy創建的對象(在非ARC環境,當然)

如果有你嘗試使用循環的一個原因,因爲你想在創建一個新數組之前改變數組的值,那麼有兩種方法可以做到這一點(循環,枚舉等),但我們需要知道更多細節,然後我們可以建議你。