【发布时间】:2023-03-06 03:50:01
【问题描述】:
我的代码:
NSOperationQueue *queue;
-(void)viewDidLoad
{
queue = [NSOperationQueue new];
NSOperation* loadImgOp = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(refresh) object:nil];
[queue addOperation:loadImgOp];
}
-(void)refresh
{
[self operationFirst];
[self operationSecond];
...
[self operationFive];
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[queue cancelAllOperations];
}
当我调用 new ViewController 时,-(void)refresh 会继续工作。 cancelAllOperations 不起作用。
【问题讨论】:
-
"cancelAllOperations not working" 你到底看到了什么?
-
当我退出这个 ViewController(调用新的 ViewController)时,我想终止这个方法 -(void) refresh。
标签: ios objective-c nsoperation nsoperationqueue