我有一个任务需要相当长的时间,应该在后台运行.根据文档,可以使用NSOperationQueue完成此操作.但是,我不想保留NSOperationQueue的类全局副本,因为我真的只使用它来执行该任务.因此,我只是将其设置为自动释放,并希望在任务完成之前不会释放它.有用.
喜欢这个:
喜欢这个:
NSInvocationOperation *theTask = [NSInvocationOperation alloc]; theTask = [theTask initWithTarget:self selector:@selector(doTask:) object:nil]; NSOperationQueue *operationQueue = [[NSOperationQueue new] autorelease]; [operationQueue addOperation:theTask]; [theTask release];
我很担心,但是.这是否保证工作?或者可能在某个时候运行Queue被取消分配,并采用该方法吗?
解决方法
在文档中没有什么可以说出NSOperationQueue发布时会发生什么.假设不能保证该任务将被执行是最安全的.