0

我是 CoreData 的新手,我有一个问题。我已经创建了两个 TableView 的项目,并且我有两个具有一对多关系的实体。当我只有这两个 TableView 并且当我在这个 TableView 中添加新对象时,我的应用程序工作正常。但是,如果我从我的第二个“详细”TableView 中添加一个带有 push segue 的 ViewController 并想向该 TableView 添加一些新对象,它就不起作用。

这是我的 ViewController 添加方法的代码:

- (void)addItem:(id)sender {
Entity2 *second = [NSEntityDescription insertNewObjectForEntityForName:@"Entity2"  inManagedObjectContext:self.managedObjectContext];
[second setName:nameTextField.text];
[second setHowMany:howManyTextField.text];
second.entity1 = self.firstEntity ;

[self.managedObjectContext save:nil];

这是我的详细 TableView 代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
Entity2*second = [self.firstEntity.entity2.allObjects objectAtIndex:indexPath.row];
cell.textLabel.text = second.name;
cell.detailTextLabel.text = second.howMany;
return cell;
}

有人知道我该怎么做吗?

任何帮助表示赞赏

4

1 回答 1

1

您可能没有将托管对象上下文正确传递给新的视图控制器。确保在prepareForSegue你传递上下文

NewViewController *controller = segue.destinationViewController;
controller.managedObjectContext = self.managedObjectContext;
于 2013-10-27T13:43:41.537 回答