2016-04-10 9 views
0

Autolayoutエンジンをバックグラウンドスレッドから変更するというエラーが発生しましたが、どの警告ブロックがこの警告を出すのかを知る方法はありますか?または私は自分でそれを検索しなければならないのですか? ありがとうございます。バックグラウンドスレッドからUIを変更する

+0

このようにxCodeにブレークポイントを設定すると、コードブロックが警告を表示することがあります。 [ここに画像の説明を入力してください](http://i.stack.imgur.com/YLZVN.png) –

+0

コード内の制約を更新する場合は、NSOperationQueue mainQueueブロックの下に置いてください。 –

答えて

0

おそらくそこより良い答えはあるが、私はスウィフトのために

を入れて起動します:Objective-Cのための

assert(NSThread.isMainThread(), "Expected code to be called on main thread"); 

NSAssert([NSThread isMainThread], @"Expected code to be called on main thread"); 

あなたのコードのすべてのセクションにあなたが」約疑いがある。

メインスレッドではなく、このコードを実行すると、この方法でアプリケーションがクラッシュします。


このエラーはエラーですか、それとも例外ですか?例外の場合は、ここのような例外ブレークポイントを使用してキャッチしようとすることができます:How to debug “Collection was mutated while being enumerated” errors and like, when Xcode does not provide me with enough information??あなたの正確なメッセージを見た後


はあなたが必要なもののように見えるです:

メインスレッドiOS9 - This application is modifying the autolayout engine from a background thread — where?から取ら

外UIKitのアクセスにアサーションが発生しPSPDFUIKitMainThreadGuardこのコードは。

+0

私は約30Kのコード行を持つプロジェクトを持っています:D、私はこれを行うことはできません – user3703910

+0

このエラーはエラーですか、それとも例外ですか?それが例外の場合は、[ここ](http://stackoverflow.com/a/16072549/598057)のような例外ブレークポイントを使用してキャッチしようとしましたか? –

+0

警告:xcodeのコンソールに次のようなメッセージが表示されます。 このアプリケーションは、オートスレッドエンジンをバックグラウンドスレッドから変更しています。エンジンの破損や奇妙なクラッシュが発生する可能性があります。これは将来のリリースで例外を発生させます – user3703910

関連する問題