繁体   English   中英

NSOperationQueue泄漏?

[英]NSOperationQueue leak?

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

NSOperationQueue *queue = [NSOperationQueue new];
    NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
                                                                            selector:@selector(method)
                                                                              object:nil];

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

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

我怎样才能解决这个问题?

调用[MyClass new]与调用[[MyClass alloc] init]是相同的,它返回的对象具有keepCount =1。因此,应在之后释放它。

您要释放operation对象吗? 尝试添加autorelease关键字

    NSInvocationOperation *operation = [[[NSInvocationOperation alloc] initWithTarget:self
                                                                                selector:@selector(method)
                                                                                  object:nil] autorelease];

只是想知道,您在方法“方法”内部正在做什么? 您正在使用NSAutoreleasePool吗? 顺便说一句,使用答案可以帮助您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM