チームのポジション割り当てを管理するアプリのテーブル ビュー コントローラーを作成しています。たとえば、ディフェンス、センター、オフェンスのヘッダーを持つセクションには、その positionProperty を持つポジション エンティティが存在する場合、名前が含まれます。その人がスワイプによって削除された場合、同じ positionProperty を持つ代替エンティティになります。
編集ボタンがタップされたときに、各位置の代替を表示しようとしています。連絡先アプリで連絡先を編集すると、追加の連絡先の詳細が表示されるのと同じように。
セクションを定義するために、positionProperty によってキー設定された alts/positions の親エンティティを返す fetchedResultsController があります。(これは間違った方法かもしれません... Core Data は初めてです)。
setEditing:WithAnimation では、次のことを行いました。取得した結果を検索しようとしており、代替タイプのオブジェクトがある場合は、その行を表示します。そのため、列挙型で代替型の場合は、IndexPathForObjects:alt を呼び出してみました。これはちょうどnilを返しました...
if(editing){
[self.tableView beginUpdates];
for (MCAlternate *alt in fetchedResultsController.fetchedObjects) {
if ([alt isKindOfClass:[MCAlternate class]]) {
NSLog(@"The alternate is: %@", alt);
// This is where the error is trying to get indexPathForObject
NSIndexPath *index = [fetchedResultsController indexPathForObject:alt];
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[index] withRowAnimation:UITableViewRowAnimationLeft];
}
}
[self.tableView endUpdates];
}
結果にオブジェクトが存在するかどうかを確認しました。します。objectAtIndexPath を呼び出すことによって作成されたばかりのオブジェクトがある場所で getindexpath を呼び出してみましたが、それでも nil が返されました。
任意の提案をいただければ幸いです、ありがとう!