1

次のエラーが発生したときに、iPhone 5 で動作するようにアプリを更新しようとしています。

Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency',
reason: 'A view can only be associated with at most one view controller at a time!
View <UITableView: 0x88fbe00; frame = (0 20; 320 548); clipsToBounds = YES; opaque = NO; 
autoresize = W+H; gestureRecognizers = <NSArray: 0x8395940>; layer = <CALayer: 0x8395350>;
contentOffset: {0, 0}> is associated with <UIViewController: 0x83967d0>. Clear this
association before associating this view with <UIViewController: 0x8381220>.'

私は XCode バージョン 4.5 を実行していますが、これは以前に発生したことはありません。この質問の手順に従ってみました。これは私の MainWindow.xib がどのように見えるかです:

MainWindow.xib

私は何を間違っていますか?どうすれば修正できますか?

4

3 に答える 3

6

私の解決策を見つけました。ロード時に例外を引き起こすビューの XIB ファイルを開きます。オブジェクト リストの一番上に ViewController オブジェクトがなく、その下に View がないことを確認してください。ある場合は、ビューを移動します。これにより、その下にあるすべてが移動され、ViewController オブジェクトと同じレベルに移動します。ViewController オブジェクトを削除し、XIB クラスが ViewController クラスに正しく設定されていることを確認してください。


同じ問題があります。Xcode 4.5 をビルドして iOS6 (デバイスまたはシミュレーター) で実行すると、この問題が発生します。iOS6 未満でアプリを実行する Xcode 4.5 は問題ありません。Xcode < 4.5 でビルドされ、iOS6 で実行されているまったく同じコードは問題ありません。したがって、Xcode 4.5 と iOS6 の組み合わせのようです。何が原因なのかわかりません。

于 2012-09-25T16:34:34.243 に答える
0

階層には、アウトレットを介して 2 つの異なるビュー コントローラーに関連付けられているテーブル ビューがありますview。これはサポートされているシナリオではないため、例外です。テーブル ビューを見て、どのビュー コントローラーが複数のビュー コントローラーに接続されているかを確認します。

于 2012-09-25T14:48:25.837 に答える