我有一个应用程序,我正在制作2 Tableview Vertical One这是Tableviewcontroller使用的那个,&在每个部分我有1行,我在其中创建了另一个Horizontal tableview,当我在“AddItemViewController”中添加ManagedObject时,ManagedObject被正确保存,尽管在tableviewcontroller中调用NSFetchedResultsChangeInsert时,它使用垂直tableview来更新,而不是水平。
我错过了什么,但是我无法弄明白,任何帮助?
答案 0 :(得分:0)
实际上,NSFetchresultschangeinsert在下面的代码中:
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject
atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type
newIndexPath:(NSIndexPath *)newIndexPath
{
HorizontalTableCell *fuck=[[HorizontalTableCell alloc]init];
UITableView *tableView= fuck.horizontalTableView;
//UITableView *tableView = self.tableView;
//newIndexPath.section==indexPath.section;
//NSLog(@"The Type of the Fetched %d",i);
switch(type) {
case NSFetchedResultsChangeInsert:
[tableView insertRowsAtIndexPaths:@[newIndexPath] withRowAnimation:UITableViewRowAnimationFade];
break;
case NSFetchedResultsChangeDelete:
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
break;
case NSFetchedResultsChangeUpdate:
[self configureCell:[tableView cellForRowAtIndexPath:indexPath] atIndexPath:indexPath];
break;
case NSFetchedResultsChangeMove:
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
[tableView insertRowsAtIndexPaths:@[newIndexPath] withRowAnimation:UITableViewRowAnimationFade];
break;
}
}
默认情况下,此代码位于Apple Default CoreData,UItableViewController
中答案 1 :(得分:0)
我解决了这个问题,方法是在MainViewController中执行Fetch请求,将其传递给NSMutableArray,然后在Other Tableview中使用,执行我的更改,然后使用NSManagedObjectContext,并向MainViewController发送通知,重新加载表再次查看数据