2012-02-26 60 views
1

我創建了下面的函數,但它似乎在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

謝謝。

+0

什麼是操作系統?你在使用ARC嗎?您是否嘗試過啓用殭屍樂器? – 2012-02-27 13:22:22

+0

是的,我已經使用殭屍啓用儀器。我正在使用iOS 5和ARC。謝謝。 – ajayjapan 2012-02-27 18:16:54

+0

您是否找到解決方案? – iBiryukov 2012-04-30 21:56:11

回答

0

這是由iOS 5.0上的Apple API代碼中的一個錯誤引起的,現在好像已經修復了