0

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

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];
    }
}
4

1 回答 1

1

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

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

[ bottomIndexPage.unitArr addObjectsFromArray: tempArr ];
于 2012-04-06T15:42:37.070 回答