核心数据 - 除非插入新对象,否则Segue不起作用

时间:2014-04-27 14:32:23

标签: ios objective-c core-data

有点奇怪的问题,希望我能解释一下。我使用以下方法在方法中添加对象:

Objects *object = [NSEntityDescription insertNewObjectForEntityForName:@"Objects" inManagedObjectContext:self.managedObjectContext]];
object.name = @"Whatever";

当我尝试使用:

将其发送到ViewController(加载到表中)时
ViewController *vc = [segue destinationViewController];
vc.managedObjectContext = self.managedObjectContext;

在prepareForSegue方法中,唯一可行的方法是添加:

Objects *object = [NSEntityDescription insertNewObjectForEntityForName:@"Objects" inManangedObjectContext:vc.managedObjectContext];

最后。所以我必须在segue中添加一个新条目,以便发送所有内容而不会出错?

没有该行的错误是:

NSRangeException', reason: [_PFBatchFaultingArray objectAtIndex:]: index(1) beyond bounds (1)

感谢所有帮助:)

1 个答案:

答案 0 :(得分:2)

尝试将公共属性添加到接收视图控制器...

在ViewController.h中

   #import "Objects.h"

   @property (nonatomic, strong) Objects *receivingObject;

然后在您的prepareForSegue方法中包含此行......

   vc.receivingObject = object;

更新:感谢Hal Mueller

删除代码行......

   vc.managedObjectContext = self.managedObjectContext;

如果您需要在目标视图控制器中获取NSManagedObjectContext,则可以使用以下代码行...

   NSManagedObjectContext *context = self.receivingObject.managedObjectContext;

希望这有帮助。