在这条线上崩溃了

时间:2011-04-21 21:28:02

标签: iphone ios ios4 nsstring nsarray

NSArray *listItems = [temp componentsSeparatedByString:@","];

有谁能告诉我为什么?

temp是一个NSString

这是整个代码

- (NSString *)getStreetAddress
{
    NSString* temp = [addressArray objectAtIndex:0];
    if (temp != nil) {
        NSArray *listItems = [temp componentsSeparatedByString:@","];
        temp = [listItems objectAtIndex:0];
   }
    return temp;
}

EXC_BAD_ACCESS是错误

1 个答案:

答案 0 :(得分:2)

如果执行到达你说的那一行,那么最可能的问题是addressArray中的第一项已被错误地释放,同时仍然是数组的一部分。由于数组不检查以确保它包含的对象有效,因此它将返回指向空闲内存的指针。当您尝试访问此内存时,它会崩溃。您可以尝试在环境中使用NSZombiesEnabled = YES运行。如果我是正确的,您将收到一条记录到控制台的错误消息。