私は Cocoa と Core Data に不慣れで、奇妙な問題に遭遇しました。Core Data モデルを正常に作成し、データをインポートし、UI (ナビゲーション コントローラー、searcDdisplayController を使用した tableViewController) を作成しましたが、1 つの問題で立ち往生しています。UITableViewController ( nibファイルにUITableViewなし)を実装すると、 fetchedResultsControllerからフェッチされた結果が奇妙になります。
ただし、追加することでこの問題を修正できました@synthesize tableView
; .mファイルで。
次に、別の問題が発生しました。行をクリックして詳細ビューを押してから、ナビゲーションコントローラーの戻るボタンをクリックすると、tableView で選択された行がまだ選択されています。
何が悪いのかはっきりしていることを願っています。要約してみましょう: @synthesize tableView; を配置しない場合。実装ファイルの上部で、行の選択解除は正常に機能していますが、結果は間違っています - tableView で 8 行 (500 行中) が繰り返されています。をファイルに入れた場合@synthesize
、tableView のデータは正しいのですが、ナビゲーション コントローラーで tableView に戻ったときにアニメーションが表示されません。
また、 listviewcontrollerの nib ファイルにUITableViewを配置しようとしましたが、結果は同じで、行の選択が解除されませんでした。デリゲートの行の選択も解除しようとしましたが、 nullです。viewWillAppear
indexPath of the indexPathForSelectedRow
ああ、私はNSFetchedResultsControllerを使用しています。私が言ったように-フェッチされた結果は正しいですが、テーブルビューに適切に供給されていないようです(合成されていない場合..)
ありがとう!