首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSOperationQueue泄露?

NSOperationQueue泄露?
EN

Stack Overflow用户
提问于 2011-12-29 03:17:14
回答 3查看 1.2K关注 0票数 0

我正在尝试使用如下所示的NSOperationQueue在后台线程中执行方法:

代码语言:javascript
复制
NSOperationQueue *queue = [NSOperationQueue new];
    NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
                                                                            selector:@selector(method)
                                                                              object:nil];

    [queue addOperation:operation];
    [queue release];
    [operation release];

问题是,分析器说有一个存储在队列中的泄漏。

我该如何解决这个问题呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-29 03:58:44

调用MyClass和调用[MyClass alloc ]是一样的,它返回的是retainCount = 1的object,所以应该在之后释放。

票数 2
EN

Stack Overflow用户

发布于 2011-12-29 03:21:37

你要发布operation object吗?尝试添加autorelease关键字

代码语言:javascript
复制
    NSInvocationOperation *operation = [[[NSInvocationOperation alloc] initWithTarget:self
                                                                                selector:@selector(method)
                                                                                  object:nil] autorelease];
票数 1
EN

Stack Overflow用户

发布于 2011-12-29 18:42:50

只是想知道,你在你的方法“方法”里面做了什么?你在使用NSAutoreleasePool吗?顺便说一下,使用this answer可以帮助您解决问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8660239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档