2011-01-26 67 views
0

我想將字符串對象添加到for循環內的數組。以下是我的代碼;未添加到NSMutableArray的字符串

for (int i=0;i<[retrievedArray count];i++) 
{ 
    NSString *temp = [[retrievedArray objectAtIndex:i] OfficialName]; 
    [detailPgArray addObject:temp]; 
} 

我有內部retrievedArray 10個對象(不作爲直接的字符串,但作爲OfficialName)

但由於某些原因,在的結束for循環,detailPgArray有0對象。請幫忙。

+0

您可以通過突出顯示代碼然後按下「{}」按鈕來格式化代碼。 – Anna 2011-01-26 18:32:23

+0

是detailPgArray無?代碼看起來不錯,但是如果detailPgArray是零它總是會返回0的計數 – Joe 2011-01-26 18:32:57

回答

3

detailPgArray更可能爲零。你需要在某個地方分配。如果它是一個實例變量,請嘗試以下操作。

[detailPgArray release]; 
detailPgArray = [[NSMutableArray alloc] initWithCapacity:[retrievedArray count]]; 

for (int i=0;i<[retrievedArray count];i++) 
{ 
    NSString *temp = [[retrievedArray objectAtIndex:i] OfficialName]; 
    [detailPgArray addObject:temp]; 
} 
1

我猜你忽略了分配和初始化detailPgArray。如果它爲零,那麼你的-addObject:調用將愉快地進入void,並且任何稍後對-count的調用將返回nil或0.

0

最有可能的是,detailPgArray爲零。你需要創建一個數組進入變量。

0

在Objective-C,你可以發送郵件到nil和應用程序將不會崩潰 - 這是正在發生的事情與addObject調用你的代碼。你必須分配和初始化數組。