我有一个功能:
- (void)fetchClassListOnCompletion:(void(^) (BOOL success, NSArray *classlist))completionBlock;
我想从两个不同的线程(可能是同时)调用此函数,并希望从最后完成的那个中获取类列表。
需要帮助来实现这个
答案 0 :(得分:2)
试试这个:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
[self fetchClassListOnCompletion:^(BOOL success, NSArray *classlist) {
self.classList = classlist;
}];
});
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
[self fetchClassListOnCompletion:^(BOOL success, NSArray *classlist) {
self.classList = classlist;
}];
});
self.classList
将从最后完成的块中分配给classlist
。
因为它在后台线程上运行,所以请确保您的方法不需要在主线程上运行。