从其他视图存储到Core Data控制器不起作用

时间:2013-10-20 13:07:33

标签: uitableview core-data entity-relationship

我是CoreData的新手,我有一个问题。 我已经创建了两个TableViews的项目,我有两个具有一对多关系的实体。 当我只有这两个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;
}

有人知道我该怎么办?

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:1)

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

NewViewController *controller = segue.destinationViewController;
controller.managedObjectContext = self.managedObjectContext;