我正在为一个管理团队位置分配的应用程序创建一个表视图控制器。例如,如果位置实体存在具有该位置属性的位置,则带有防守、中锋和进攻标题的部分将在其中包含名称。如果通过滑动删除了该人,则他们将成为具有相同 positionProperty 的替代实体。
我试图在点击编辑按钮时显示每个位置的替代品。就像您在联系人应用程序中编辑联系人时会出现额外的联系人详细信息一样。
我有一个 fetchedResultsController 返回由 positionProperty 键入的 alts/位置的父实体以定义部分。(这可能是错误的方法......我是 Core Data 的新手)。
在 setEditing:WithAnimation 我做了以下。尝试搜索我获取的结果,如果有任何对象是 Alternate 类型,则显示该行。所以在枚举中,如果是类型alternate,我尝试调用IndexPathForObjects:alt。这只是返回零......
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];
}
我检查了结果中是否存在该对象。确实如此。我也试过在一个地方调用getindexpath,对象是通过调用objectAtIndexPath创建的,它仍然返回nil。
任何建议表示赞赏,谢谢!