NSData dataWithContentsOfURL泄漏和datawithContentsOfURL:选项:错误报告URL为零?

时间:2011-11-14 00:43:33

标签: ios memory-leaks nsdata nsurl core-foundation

我正在为Apple Dev实现一个表的并发imageLoader。 NSOpertaion上的视频。

有趣的事情(至少对我来说)是,在我的NSOperation主要内部,除其他外,我有这行代码(其中imageURL是一个有效的url字符串,在NSOperation中存储并保留为ivar):

UIImage * newThumbnail = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:imageURL]]];

以上代码有效,但是在调用NSData dataWithContentsOfURL时,仪器会报告CFHTTPCookieStorage泄漏。所以看起来像CF泄漏......我无能为力。但有人说,如果他们切换到dataWithContentsOfURL:options:error,则不会发生泄漏。

所以我继续尝试,这意味着上面的一行变成了:

UIImage * newThumbnail = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:imageURL] options:0 error:&error]];

但是后来我得到了之前工作的相同URLWithString的异常!:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSConcreteData initWithContentsOfURL:options:error:]: nil URL argument'

是什么给出了?

1 个答案:

答案 0 :(得分:1)

我认为您应该使用Grand Central Dispatch的包装器而不是使用NSOperations。你可以看一下我刚才写的一篇:https://github.com/MaxKDevelopment/MKImageCenter