AFAIK,一个线程无法访问UI组件。但是我想在后台线程中预加载图像,然后在UIImageView中显示它们。我是否必须使用特殊方法在主线程中访问UIImageView?
答案 0 :(得分:1)
如果我理解你的问题,你就是正确的一半。线程可以访问UI组件,但只有主线程可以可靠地执行。您的后台线程可以使用performSelectorOnMainThread:withObject:waitUntilDone:
来调用主线程中的选择器,并从这些选择器中与UI进行交互。
示例:
[self performSelectorOnMainThread:@selector(updateImage) withObject:nil waitUntilDone:YES];