2009-06-06 5 views
0

私は2つのuiviewcontrollerを持っています。私はNSThreadを最初のviewcontrollerとその作品に使用しています。スレッドがfirstviewcontrollerで実行されていたときに、その時刻にSecondviewcontrollerを実行したいと思っています。このアクションはfirstviewcontrollrのスレッドを止めます。NSThreadエラー

どうすればいいですか?誰か助けてくれますか? ありがとうございます。

答えて

1

あなたがしたいことと問題が何であるかを正確に理解するのは難しいので、質問を明確にすることができればよいと思います。一般に、UIコードはで、常にがメインスレッドで実行されます。これはCocoaのドキュメンテーションに明記されており、複数のスレッドでUIを制御しようとすると成功しません。

他のスレッドでコードを実行してUIに影響を与えたい場合は、情報をメインスレッドに伝達するメカニズムを実装する必要があります。便利になる一つの方法は、あなたが通知を使用したい場合は、メインスレッド上でそれらを派遣しなければならないNSObjectのの

performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait; 

です。この原則に固執しないと、バグを混乱させるのは簡単です(最初はうまくいくかもしれませんが)。

関連する問題