2011-04-11 75 views
1

我知道你不能從背景視圖更新UIView。(iphone)從後臺線程訪問UIView的數據成員是否安全?

但不知道當我只訪問UIView後代的自定義數據成員變量時該規則是否適用。

假設我有

@interface MyView : UIView 
{ 
NSNumber* number; 
} 

@property (retain) NSNumber* number; 

這裏,並訪問來自後臺線程的「數字」變量違反規則「從後臺線程沒有UIView的更新」?

謝謝

回答

1

在後臺線程訪問你的子類的屬性應該不會引起任何問題,如果他們被標記爲原子(默認值)。你必須確保你不要調用任何引起繪製的UIView方法。

+1

雖然要非常小心 - 有些屬性(即UIView的框架)是在你問他們時計算的 - 這可能會導致問題(但你可能會很好!)。 – deanWombourne 2011-04-11 10:15:51

+0

view.subviews怎麼樣? – eugene 2011-04-11 11:00:31

+1

如果您從未調用addSubview,並且您的所有子視圖都不會調用removeFromSuperview,則view.subviews可能沒問題。但我不會推薦它。 – 2011-04-11 11:34:45