我想使用单独的表控制器创建一个包含2个表视图的横向视图。
当我选择一行时,我想将该选择移动到另一个表。最初我想要一个数组,但我无法将数组传递给另一个控制器。该数组是表视图控制器的属性。
然后我尝试将选择写入核心数据,但这是崩溃。为简化起见,我在核心数据中有2个实体,Person(具有name属性和一个关系)和SelectedPerson(只有一个与Person的关系)。
我添加了以下内容:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
Person *person = (Person *)[fetchedResultsController objectAtIndexPath:indexPath];
SelectedPerson *selectedPerson = [NSEntityDescription insertNewObjectForEntityForName:@"SelectedPerson"
inManagedObjectContext:managedObjectContext];
[selectedPerson setValue:person forKey:@"persons"];
[leftViewController.tableView reloadData];
NSLog(@"Selection saved OK");
如果我暂时从笔尖中删除我的左控制器,这样可以正常工作,当我将其添加回来时,它会打开选定的人。但是使用左表视图,我得到以下崩溃日志:
[49650:207] Record saved OK
[49650:207]-[Person compare:]: unrecognized selector sent to instance
[49650:207] Serious application error. Exception was caught during Core Data change processing: -[Person compare:]: unrecognized selector sent to instance 0x3d33ef0 with userInfo (null)
***我在此处上传了一个示例应用link text
我见过使用并排表的应用程序,但我很难让这个工作。任何帮助将不胜感激。
答案 0 :(得分:0)
要更新表格视图,只需向其发送reloadData
条消息。
答案 1 :(得分:0)
我想通了 - 我没有在右视图控制器中创建controllerDidChangeContent
。
我想因为我正在更新一个不同于`fetchedResultsController'的实体,所以不需要它,但事实证明它是。可能是因为反比关系。谢谢你的帮助。