2011-01-26 33 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调用你的代码。你必须分配和初始化数组。