因此,如
this answer和
the iOS 4.0 release notes所述,UIKit现在有一些线程安全的绘图设施:
Drawing to a graphics context in UIKit is Now thread-safe. Specifically:
这很好,但是你如何使用它?
据我所知,任何时候你都不在-drawRect中:如果你通过UIGraphicsBeginImageContext()或UIGraphicsPushContext()创建了自己的上下文,你只能使用UIKit / UIGraphics绘制,但这些函数不是根据文档线程安全,并且总是在主线程上调用-drawRect().
我假设在主线程上创建一个图像上下文然后启动后台方法将是一个非常糟糕的主意,因为竞争条件很多.
那么,我如何使用iOS 4中引入的基于多线程UIKit的绘图内容?我错过了什么其他方式获得活跃的UIKit图形上下文?
附:我知道我可以使用Core Graphics进行绘制并完成它.由于各种原因(遗留代码),我想继续使用基于UIKit的绘图方法.