【问题标题】:(iphone) is it safe to access UIView's data member from background thread?(iphone) 从后台线程访问 UIView 的数据成员是否安全?
【发布时间】:2011-04-11 09:24:28
【问题描述】:

我知道您不能从背景视图更新 UIView。

但不确定当我仅访问 UIView 后代的自定义数据成员变量时该规则是否适用。

假设我有

@interface MyView : UIView
{ 
NSNumber* number;
}

@property (retain) NSNumber* number;

这里,从后台线程访问“数字”变量是否违反了“后台线程不更新 UIView”的规则?

谢谢

【问题讨论】:

    标签: iphone multithreading uiview background


    【解决方案1】:

    如果它们被标记为原子(默认),则在后台线程中访问您的子类属性应该不会导致任何问题。你必须确保你没有调用任何导致绘图的 UIView 方法。

    【讨论】:

    • 虽然要非常小心 - 一些属性(即 UIView 的框架)会在您请求时计算出来 - 这可能会导致问题(但您可能会没事的!)。
    • 如果你从不调用 addSubview 并且你所有的子视图从不调用 removeFromSuperview view.subviews 可能没问题。但我不会推荐它。
    猜你喜欢
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    相关资源
    最近更新 更多