我创建了下面的函数,但它似乎在performRequestWithHandler上泄漏。在ARC项目中TWRequest泄漏
- (void)getDataForRequest:(TWRequest *)postRequest withSelector:(SEL)selector {
if (twitterAccount != nil) {
[postRequest setAccount:twitterAccount];
[postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error){
id jsonResponse = nil;
if (responseData) {
NSError *jsonParsingError = nil;
jsonResponse = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&jsonParsingError];
}
if (!jsonResponse) {
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding];
jsonResponse = [NSDictionary dictionaryWithObjectsAndKeys:responseString, @"response", nil];
}
if (error != nil && ![jsonResponse objectForKey:@"error"]) {
NSString *errorMessage = error.localizedDescription;
jsonResponse = [NSDictionary dictionaryWithObjectsAndKeys:errorMessage, @"error", nil];
}
[self performSelectorOnMainThread:selector withObject:jsonResponse waitUntilDone:NO];
}];
}
}
泄漏通过回溯:
泄露的对象---- ----#----地址----大小图书馆负责----负责任的框架
XPCProxy ---- 1 ---- ---- 0x2c6480 32个字节---- ----帐户 - [ACOAuthSigner initWithAccount:]
的NSArray ---- 1 ---- 0x2cf010 ---- 64字节---- XPCObjects ---- - [XPCProxy restrictDecodin gToWhitelistedClassNames:]
malloc的128个字节---- 1 ---- ---- 0x2d0650 128个字节---- libdispatch.dylib dispatch_queue_create $ $ VARIANT熔点
malloc的128个字节---- 1 ---- 0x2cf0f0 ---- 128字节---- libdispatch.dylib dispatch_queue_create $ VARIANT $ mp
谢谢。
什么是操作系统?你在使用ARC吗?您是否尝试过启用僵尸乐器? – 2012-02-27 13:22:22
是的,我已经使用僵尸启用仪器。我正在使用iOS 5和ARC。谢谢。 – ajayjapan 2012-02-27 18:16:54
您是否找到解决方案? – iBiryukov 2012-04-30 21:56:11