UIKit对象是否需要在主线程上取消分配?

时间:2013-04-02 01:07:41

标签: uikit

关于UIView,Apple对线程建议有一些评论:

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html#//apple_ref/doc/uid/TP40006816-CH3-SW147

  

必须对应用程序的用户界面进行操作   主线程。因此,您应该始终调用UIView的方法   来自应用程序主线程中运行的代码的类。该   只有在创建视图时,这可能不是绝对必要的时间   对象本身,但所有其他操作应该发生在主要   线程。

在后台线程中释放UIView对象通常(不)安全吗?无论哪种情况,我都在寻找一些支持文档。

2 个答案:

答案 0 :(得分:1)

是的,UIKit对象需要在主线程上取消分配。在后台线程中释放UIView对象是不安全的。有关详细信息,请参阅here

答案 1 :(得分:0)

iOS开发者库文档链接到 NSView限制部分,因此我猜它们也适用于UIView。

  

NSView限制

     

NSView类通常不是线程安全的。您应该仅从应用程序的主线程创建,销毁,调整大小,移动和对NSView对象执行其他操作。只要您通过调用lockFocusIfCanDraw和unlockFocus来绘制绘图调用,从辅助线程绘制就是线程安全的。

来源: https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Multithreading/ThreadSafetySummary/ThreadSafetySummary.html#//apple_ref/doc/uid/10000057i-CH12-123427

我希望这会有所帮助。