字符串没有被添加到NSMutableArray

时间:2011-01-26 18:28:03

标签: iphone objective-c nsmutablearray

我想将字符串对象添加到for循环中的数组中。以下是我的代码;

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

我在retrieveArray中有10个对象(不是直接字符串,而是作为OfficialName)

但由于某种原因,在for循环结束时,detailPgArray有0个对象。请帮忙。

4 个答案:

答案 0 :(得分: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 :(得分:1)

我猜你忽略了分配和初始化detailPgArray。如果它是nil,那么你的-addObject:调用将快速进入void,之后对-count的任何调用都将返回nil或0。

答案 2 :(得分:0)

最有可能的是,detailPgArray为零。您需要创建一个数组以进入变量。

答案 3 :(得分:0)

在Objective-C中,您可以向nil发送消息,应用程序不会崩溃 - 这就是您的代码addObject调用中发生的情况。你必须分配并初始化数组。