每次我调用这个方法 2NSString
和 1NSMutableArray
对象泄漏,这很恶心,因为我在我的应用程序中经常使用它。
这是方法:
+ (NSString *)queryStringFromParameters:(NSDictionary *)parameters {
NSMutableArray __block *entries = [[NSMutableArray alloc] init];
[parameters enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
NSString *entry = [NSString stringWithFormat:@"%@=%@", [key pcen], [obj pcen]];
[entries addObject:entry];
}];
return [entries componentsJoinedByString:@"&"];
}
这是[pcen]
方法
- (NSString *)pcen {
CFStringRef string = CFURLCreateStringByAddingPercentEscapes(NULL,
(CFStringRef)self,
NULL,
CFSTR("!*'();:@&=+$,/?%#[]"),
kCFStringEncodingUTF8);
return [(NSString *)string autorelease];
}
它们在同一个文件中,我的项目是 ARC,但对于这个文件,我未选中 ARC。为什么每次我尝试使用它时都会发生这种泄漏?
谢谢!