1

TableViewController (VC1) を別の TableViewController (VC2) にプッシュセグするように設定しています。この接続は、Ctrl キーを押しながら VC1 から VC2 にドラッグすることにより、ストーリーボードで作成されました。セグエが実行されると、アプリがフリーズし、CPU が 100% にペグされ、メモリ使用量が急速に上昇し始めます。カスタム VC2 から始めたところ、viewWillAppear が呼び出され、numberOfRowsInSection などのテーブル デリゲート メソッドが適切に実行されていることがわかりました。

問題を絞り込もうとすると、VC2 のようなバニラ UITableViewController (カスタム コントローラー クラスなし) でも同じ問題があることがわかります。しかし、VC2を単なるバニラUIViewController(テーブルではない)として設定すると、問題なく動作します。

アプリの他の場所に約12個のTableView-> TableViewセグエがあり、同じように設定されており、問題はありません。

VC1 コード:

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

1 に答える 1

4

私の問題は、外観プロキシを使用して UITableView の backgroundView を設定しようとしたことが原因であることが判明しました。UITableView backgroundView が UI_APPEARANCE_SELECTOR としてマークされていないドキュメント ( https://developer.apple.com/library/ios/documentation/uikit/reference/UIAppearance_Protocol/Reference/Reference.html ) で見つかりました。

于 2013-10-18T21:24:10.617 に答える