2011-04-11 5 views
1

UIViewをバックグラウンドビューから更新することはできません。(iphone)バックグラウンドスレッドからUIViewのデータメンバーにアクセスするのは安全ですか?

UIView子孫のカスタムデータメンバー変数にしかアクセスしていないときにそのルールが適用されるかどうかはわかりません。

は、私がここで

@interface MyView : UIView 
{ 
NSNumber* number; 
} 

@property (retain) NSNumber* number; 

があるとし、「バックグラウンドスレッドからのUIViewの更新」ルールに違反していないバックグラウンドスレッドから「数」の変数にアクセスするのでしょうか?

答えて

1

は、それらが(デフォルト)アトミックとしてマークされている場合は、バックグラウンドスレッドのプロパティは何の問題が発生することはありません、あなたのサブクラスへのアクセスありがとうございます。あなたは描画を引き起こすUIViewメソッドを呼び出さないようにする必要があります。

+1

いくつかのプロパティ(つまり、UIViewのフレーム)は、要求時に計算されるため、問題が発生する可能性があります(しかし、おそらく問題ありません)。 – deanWombourne

+0

view.subviewsについて – eugene

+1

addSubviewを呼び出さず、すべてのサブビューがremoveFromSuperviewを呼び出さない場合、view.subviewsは問題ありません。しかし、私はそれをお勧めしません。 –