[英]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.