【发布时间】:2011-08-29 12:43:50
【问题描述】:
我在代码中的仪器中遇到内存泄漏
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSMutableString * res = [[[NSMutableString alloc] initWithBytes: [webData mutableBytes] length:[webData length] encoding:NSUTF8StringEncoding]autorelease];
[webData release];
[connection release];
[res replaceOccurrencesOfString:@"&" withString:@"&" options:NSCaseInsensitiveSearch range:(NSRange){0,[res length]}];
[delegate getcat:res];
[pool drain];
}
- (void)getcat:(NSString*)xml
{
if (xmlParser) {
[xmlParser release];
}
Cid = [[NSMutableArray alloc] init];
Categories = [[NSMutableArray alloc] init];
NSData *data = [xml dataUsingEncoding:NSUTF8StringEncoding];
xmlParser = [[NSXMLParser alloc] initWithData:data];
[xmlParser setDelegate:self];
[xmlParser setShouldResolveExternalEntities:YES];
[xmlParser parse];
[xmlParser release];
}
这是管理内存的正确方法吗?
【问题讨论】:
-
代理是否保留
res? -
@Tudorizer .There 没有保留我正在使用分配属性(@property(assign) id
委托) -
@Rams: 属性是否保留
getcat:中的资源?您只回答委托属性,这不是问题。 -
@Rudy Velthuis No.. 我也会发布 getcat 方法
-
@Rudy Velthuis 检查我编辑的问题
标签: iphone objective-c nsmutablestring