线程安全的UIKit方法

Nuo*_*oji 15 uikit ios

我试图在iOS 4.0上确切地找出UIKit中哪些方法(名称!)成为线程安全的.

我搜索过Apple的文档但收效甚微.例如,UIImage使用imageNamed创建的:在其他线程上使用是不安全的(它偶尔会CGImage从主线程中抛弃它),而imageWithCGImage可能是(?).此外,我已经看到UIColor在主线程以外的线程上使用的声明是安全的.

有哪些方法是安全的,哪些方法不安全?

编辑:有趣的是UIKit类在单独的线程上使用很有趣,例如UIImage,UIColor等等.

Jac*_*kin 5

来自Apple的文档:

注意:在大多数情况下,UIKit类只能从应用程序的主线程中使用.对于从UIResponder或以任何方式操纵应用程序的用户界面的类派生的情况尤其如此.

因此,你真的不应该在UIKit后台线程中与任何东西进行交互.

  • 根据iOS 4发行说明(http://developer.apple.com/library/ios/#releasenotes/General/WhatsNewIniPhoneOS/Articles/iPhoneOS4.html):在UIKit中绘制到图形上下文现在是线程安全的.具体来说:•用于访问和操作图形上下文的例程现在可以正确处理驻留在不同线程上的上下文.•字符串和图像绘制现在是线程安全的.•现在可以安全地使用多个线程中的颜色和字体对象. (11认同)