(iphone)关于UIView在后台线程中应该做什么?

时间:2011-04-22 05:11:42

标签: iphone uiview background-thread

我知道并且听说大多数UI相关不应该在main之外的线程中完成 我也知道你可以更新UIView派生类的非视图相关数据成员(你添加)。

我想知道以下操作在后台线程中是否正常。

  1. 分配UIView
  2. 使用/不使用(CGRectZero或仅初始化)框架信息的初始化UIView
  3. 修改UIView的框架/图像(UIImageView)属性
  4. 修改NSObject派生类的图像属性。 (将UIImage视为数据)
  5. 使用子视图方法
  6. 访问子视图
  7. 等..这个问题是否有明确的文件?
  8. 谢谢

1 个答案:

答案 0 :(得分:3)

你不应该在后台线程中做任何相关的视图。您列出的所有项目都不应在后台线程中完成。如果您正在为MVC正确破坏您的应用程序,则视图应该只包含指示其显示方式的项目。所以任何与一个相关的东西都只能在主线上。

您的所有数据操作都应该驻留在您的模型中。它可以根据性能进行线程化。请注意,您发送任何消息以更新主线程上的数据操作的UI。这包括通知。它们是在创建它们的同一个线程上发送的。所以在发送一个时很容易忘记切换到mainThread。