我是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;
}
有人知道我该怎么办?
任何帮助表示赞赏
答案 0 :(得分:1)
您可能未将托管对象上下文正确传递给新视图控制器。确保在prepareForSegue
中传递上下文
NewViewController *controller = segue.destinationViewController;
controller.managedObjectContext = self.managedObjectContext;