サブビューとしてUIKitオブジェクトを持つビューがあると想像してください(たとえば、UIActivityIndicatorView
これは問題ではありません)。このビューには、doSomething
UIKit オブジェクトを何らかの方法で管理する と呼ばれるセレクターもあります (この例では、インジケーター ビューを開始または停止できます)。
NSInvocationOperation
で(ビューのコード部分から)作成しinitWithTarget:self selector:@selector(doSomething) object:nil
ます。次に、に追加しNSOperationQueue
ます。そして、すべて正常に動作します。
どのように?!これは新しいスレッドであり、スレッドセーフではない UIKit オブジェクトでなければなりません! エラーが見つからない (そしてクラッシュが発生しなかった) のはなぜですか?