我的应用在加载缩略图后崩溃了。在这一行,代码正在下载图像(缩略图)
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];
}
}
答案 0 :(得分:1)
首先:此代码泄漏。使用[[ NSString alloc ] initWithString: s ]
返回您负责处理的已分配对象。在这样的循环中,您应该使用自动释放的字符串:[ NSString stringWithString: s ]
。
但在这种情况下,您根本不需要新的字符串值。 -componentsSeparatedByString:
已经为您准备了字符串值。您甚至不需要循环来插入tempArr
的值。只是做:
[ bottomIndexPage.unitArr addObjectsFromArray: tempArr ];