私はしばらくこのプロジェクトに取り組んできました。すべて問題なく、今日 XCode 4.6 にアップグレードしました...突然、クラッシュしました。データがない場合 (私は Core Data を使用しています)、空白のテーブルビューを読み込みます。他のView Controllerに何かを追加しようとするとすぐにクラッシュします。シミュレーターと私のデバイスで同じ問題。「すべての例外」ブレークポイントが有効になっていると、デバッガーは次の行を指しています。
ReedCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
例外として「UITableview:認識されないセレクター...」が表示されます。私のクラスは間違いなく UITableViewController のサブクラスなので、tableView が必要ですよね? 次のテスト コードを ViewDidLoad に入れると、確認が取れません。つまり、私の tableView はメソッドに応答しなくなりました。一体何?廃止された場合、そのドキュメントはありません。
if ([self.tableview respondsToSelector:@selector(dequeueReusableCellWithIdentifier:forIndexPath:)]) {
NSLog(@"RTVC responds to selector dequeueReusableCellWithIdentifier:forIndexPath:");
}
クリーンアップを行い、シミュレーターから削除し、ストーリーボードのビューコントローラーがまだ正しいクラスであることを確認しました(そうです)。また、「tableview」ではなく「self.tableview」にメッセージを送信してみました。修正なし。繰り返しますが、これは正常に機能していました。何も変更していません。4.6 にアップグレードしただけです。ありがとう!