应用程序在加载图像后崩溃

时间:2012-04-06 15:33:25

标签: objective-c

我的应用在加载缩略图后崩溃了。在这一行,代码正在下载图像(缩略图)

else if ([tempTagName isEqualToString:@"Unicorn"])
            {   

                bottomIndexPage.unitArr = [[NSMutableArray alloc] init];
                NSArray *tempArr = [tempTagValue componentsSeparatedByString:@","];

                for (int i = 0; i<[tempArr count]; i++) 
                {

                    [bottomIndexPage.unitArr addObject:[[NSString alloc] initWithString:[tempArr objectAtIndex:i]]];

                }

在输出中我没有看到任何崩溃消息。它需要加载缩略图,但应用程序崩溃是通过下载(90 + - 缩略图)

我认为这是在这里的事情

 if (!loadXmlFromWeb)
    {
        xmlTextReaderPtr xmlreader = xmlReaderForMemory([xmlData bytes], 
                                                        [xmlData length], 
                                                        [path UTF8String], nil, 
                                                        (XML_PARSE_NOBLANKS | XML_PARSE_NOCDATA | XML_PARSE_NOERROR | XML_PARSE_NOWARNING));
        [self xmlParseProc:xmlreader];
    }
}

1 个答案:

答案 0 :(得分:1)

首先:此代码泄漏。使用[[ NSString alloc ] initWithString: s ]返回您负责处理的已分配对象。在这样的循环中,您应该使用自动释放的字符串:[ NSString stringWithString: s ]

但在这种情况下,您根本不需要新的字符串值。 -componentsSeparatedByString:已经为您准备了字符串值。您甚至不需要循环来插入tempArr的值。只是做:

[ bottomIndexPage.unitArr addObjectsFromArray: tempArr ];