2011-03-28 76 views
-2

我想12個對象添加到NSMutableArray裏,準備命令InsertObject:atIndex:插入12個物體插入的NSMutableArray

必須有比

[self.YoutubeArray addObject:@""]; 
    [self.YoutubeArray addObject:@""]; 
    [self.YoutubeArray addObject:@""]; 
    [self.YoutubeArray addObject:@""]; 
    [self.YoutubeArray addObject:@""]; 
    [self.YoutubeArray addObject:@""]; 
    [self.YoutubeArray addObject:@""]; 
    [self.YoutubeArray addObject:@""]; 
    [self.YoutubeArray addObject:@""]; 
    [self.YoutubeArray addObject:@""]; 
    [self.YoutubeArray addObject:@""]; 
    [self.YoutubeArray addObject:@""]; 
+2

請張貼問題之前,所以搜索。檢查此頁面右側的相關鏈接。 – 2011-03-28 11:57:47

+0

是的,我不想這樣做12次[self.YoutubeArray addObject:@「」]; – user393273 2011-03-28 11:59:31

+2

@ user393273:有一種叫做for循環的東西,可以做你所需要的東西,甚至是addObjects:。檢查iOS文檔。 – 2011-03-28 12:03:12

回答

-1
NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"" count:12]; 
+2

從什麼時候開始upvote導致「NSInvalidArgumentException」的解決方案? 'arrayWithObjects:count:'只能用於將c數組轉換爲NSArrays。 – 2011-03-28 12:48:43

+0

同意。這是一個崩潰。 – bbum 2011-03-28 15:52:29

+0

謝謝你指出。我的錯。直到結束纔讀取方法文檔。對不起,大驚小怪,) – Eimantas 2011-03-28 18:03:37

2
 
for (NSInteger i = 0; i < 12; i++) { 
    [self.YoutubeArray addObject:@""]; 
} 
0
self.YoutubeArray = [NSMutableArray arrayWithObjects:@"",@"",...,@"",nil]; 

一個更快的方法如果你使用靜態數據

0

我猜你實際上不需要這些空字符串,你只是設置佔位符?

如果是這樣的:

self.YoutubeArray = [NSMutableArray arrayWithCapacity:12]; 

否則:

self.YoutubeArray = [NSMutableArray arrayWithObjects:@"", @"", @"", @"", @"", 
        @"", @"", @"", @"", @"", @"", @"", nil]; 
+3

我認爲'arrayWithCapacity:'的名字有點讓人誤解,因爲它不會將佔位符對象添加到數組中。它只保留足夠的內存,因此指向您自己添加的對象的指針將保存在連續的內存中。 – 2011-03-28 12:55:50

+0

@MatthiasBauch,我同意你的意見。 – Fisher 2012-09-03 07:42:38