私はここで少し途方に暮れています。どこが間違っているのか誰かが指摘してくれることを願っています。
私のアプリケーションは、iPad 用のマスター/ビュー アプリケーションです。
私の MasterView は UITableView を継承しており、didReceiveMemoryWarning がない限り問題なく動作します。カスタム セル コンテンツを取得しましたが、すべてうまく機能します。ここまでは順調で、ビルドに数時間しかかかりませんでした。
ただし、didReceiveMemoryWarning を取得すると、self.tableView の動作がおかしいようです。numberOfSectionsInTableView および tableView:numberOfRowsInSection: メソッドが再度呼び出されることはなく、コードが最初の項目を選択しようとすると (メモリ警告の後)、次のようになります。
[self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]
animated:NO
scrollPosition:UITableViewScrollPositionMiddle];
でクラッシュします
-[UITableView scrollToRowAtIndexPath:atScrollPosition:animated:]: 行 (0) がセクション (0) の境界 (0) を超えています。
それで、何が得られますか?メモリ警告中に tableView のメモリが完全に消去された場合、なぜ nil に設定されなかったのですか? また、どうすればそれを再び構築できますか?