我试图通过
获取数据NSString * string = [NSString stringWithContentsOfURL:[NSURL URLWithString:url]];
一切正常,但是当我使用性能工具运行它时,它会发现此行的泄漏。
这是我使用的整个方法:
- (NSMutableDictionary *) getOutputImagesData: (URLParserImagesData) data
{
NSString *type = (data == URLParserImagesDataLatestImage) ? @"img" : @"size";
NSString *url = [NSString stringWithFormat: @"%s%s%s", [URLParserSiteURLforCategories UTF8String], [URLParserType UTF8String], [type UTF8String]];
//i get leaks here
NSString *string = [NSString stringWithContentsOfURL: [NSURL URLWithString: url]];
NSArray *imagesTemp = [string componentsSeparatedByString: @","];
NSMutableDictionary *outputImages = [NSMutableDictionary dictionary];
for(NSString *img in imagesTemp)
{
NSArray *splitStrings = [img componentsSeparatedByString: @"="];
if(data == URLParserImagesDataImagesCount)
{
NSNumber *integerValue = [NSNumber numberWithInt: [[splitStrings objectAtIndex:1] intValue]];
[outputImages setObject: integerValue forKey: [splitStrings objectAtIndex:0]];
}
else
[outputImages setObject: [splitStrings objectAtIndex:1] forKey: [splitStrings objectAtIndex:0]];
}
return outputImages;
}
答案 0 :(得分:0)
您的代码没有任何问题。
答案 1 :(得分:0)
stringWithContentsOfURL:
是deprecated。请尝试使用stringWithContentsOfURL:encoding:error:
或stringWithContentsOfURL:usedEncoding:error:
。