使用ARC完成我的第一个项目。想象一下我的惊讶,几乎立即发现泄漏。是否有人对以下代码为何会因符号标识符泄漏而有任何见解:'dispatch_queue_create':

这在带有ARC的iOS5中使用了过于简化的TWRequest处理程序:

- (void)loadSomeTweets
{


NSString *queryString = [NSString stringWithString:@"http://search.twitter.com/search.json?"];
NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys:@"%23WatchingTheVoice", @"q", nil];

NSURL *targetedSearchURL = [NSURL URLWithString:queryString];
TWRequest *targetedRequest = [[TWRequest alloc] initWithURL:targetedSearchURL
                                                 parameters:parameters
                                              requestMethod:TWRequestMethodGET];


[targetedRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error)
 {
    //Do something

 }];

}

为什么会泄漏?调用堆栈牵涉到performRequestWithHandler,但是无论我在回调处理程序中执行什么操作,都会发生泄漏,即使是空的实现(如此处所示)也会产生泄漏。泄漏发生在模拟器和设备上。

最佳答案

这个问题是苹果的Twitter框架内存泄漏的结果。

关于objective-c - 来自Twitter TWRequest处理程序的泄漏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9370956/

10-15 19:05