0

この問題を解決することはできません

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </var/mobile/Applications/A0EC53C5-E9C0-4191-9BAF-0B61205B92F0/Handbook.app> (loaded)' with name 'pAM-c5-AKQ-view-CuA-a0-uZt' and directory 'Storyboard.storyboardc''

私はListViewController: UITableViewController別のものをプッシュするを持っていDetailViewControllerます:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [self performSegueWithIdentifier:@"ShowDetailsSegue" sender:self];
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"ShowDetailsSegue"])
    {
        DetailViewController *detailController = (DetailViewController *)[segue destinationViewController];

        detailController.department = [departmentsList objectAtIndex:[self.tableView indexPathForSelectedRow].row];
    }
}

不思議なことに、セグエをして5回戻ることができます。5回目にDetailViewControllerは空のテーブルが表示され、6回目には上記の例外が発生します。

SOについても同様の質問をたくさん見つけましたが、実用的な解決策はありませんでした。

何が悪いのかわからないのですか?どこを見るべきか提案はありますか?

4

1 に答える 1

0

ナビゲーションコントローラーで前後に移動するときに、このような奇妙な問題を追加しました。私の場合はキーボードの問題でした。

私にとっては、私の詳細ビューコントローラーが再利用されていることがわかりました。これは、Xcode 4.5 または iOS 6 の新機能で、nib のロード数を低く抑えようとするものだと思います。-viewWillDisappear:/で適切に後片付けをしませんでした-viewDidDisappear:。キーボードはまだ表示されていると思っていましたが、そうではありませんでした。

同様の問題が発生しているかどうかはわかりませんが、調べる価値があるかもしれません。読み込みごとに同じ詳細ビュー コントローラー オブジェクトを取得しているかどうかを確認してください。その場合は、詳細ビュー コントローラーが悪い状態のままになっていないかどうかを確認してください。

于 2012-10-17T12:46:20.107 に答える