Uitableview 从其他viewController存储到CoreData';行不通

Uitableview 从其他viewController存储到CoreData';行不通,uitableview,core-data,entity-relationship,Uitableview,Core Data,Entity Relationship,我是CoreData的新手,我有一个问题。 我创建了一个项目,其中有两个TableView,我有两个具有一对多关系的实体。 当我只有这两个TableView时,以及当我在这个TableView中添加新对象时,我的应用程序工作正常。但是,如果我从第二个“细节”表视图中添加一个带有push segue的ViewController,并希望向该表视图添加一些新对象,那么它将无法工作 以下是我的ViewController添加方法的代码: - (void)addItem:(id)sender { Ent

我是CoreData的新手,我有一个问题。 我创建了一个项目,其中有两个TableView,我有两个具有一对多关系的实体。 当我只有这两个TableView时,以及当我在这个TableView中添加新对象时,我的应用程序工作正常。但是,如果我从第二个“细节”表视图中添加一个带有push segue的ViewController,并希望向该表视图添加一些新对象,那么它将无法工作

以下是我的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;
}
有人知道我该怎么做吗


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

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

检查托管对象上下文是否为零。当我在存储该数据后放入NSLog时,我的结果是该对象也存在,但不知道为什么不在我的表中。是否重新加载该表(例如,使用
[tableView reloadData];
)?是。我有VIEWWILLEXPEND方法,还有[self.tableview reloadData];您的代码看起来很好(编辑-不是在发布第二个代码段之后)。通过
sqlite3
命令行工具或SQLite管理器检查存储-是否保存?如果是,则它是您的表(可能您有一个获取结果控制器,需要调用
performFetch
),否则捕获保存错误并进行调查。