Tur*_*age 6 iphone multithreading asynchronous objective-c ios
我试图在主线程上执行此操作:
[curItem.mButton setBackgroundImage:newArt forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
所以我这样做......
cWrapperObject* obj = [cWrapperObject alloc];
[obj setupParams :curItem.mButton :newArt];
[obj performSelectorOnMainThread:@selector(setImageForButton) withObject:nil waitUntilDone:YES];
Run Code Online (Sandbox Code Playgroud)
我觉得这很糟糕,有没有人对我如何处理这种方式有任何建议?
bry*_*mac 13
另一种选择是GCD.您可以在主队列上调用一个块,该块在运行循环运行时以串行方式运行.块不限于像performSelectorOnMainThread这样的一个对象.
dispatch_async(dispatch_get_main_queue(), ^{
// code here
});
Run Code Online (Sandbox Code Playgroud)
我在这里写了一个更全面的performSelectorXXX和GCD比较,以及样本:
另外,这是另一个相关的SO帖子:
归档时间: |
|
查看次数: |
4297 次 |
最近记录: |