如何在初始化后将NSManagedObject与上下文关联起来?

xil*_*il3 5 iphone core-data objective-c

例如,如果我有一个NSManagedObject名字Items,并且我想设置ManagedObjectContext后者(不是在初始化时),我该怎么做?

目前我正在这样做:

Items *item = [NSEntityDescription insertNewObjectForEntityForName:@"Items" 
                                                inManagedObjectContext:_context];
Run Code Online (Sandbox Code Playgroud)

这会自动将其关联到_context.

但是,如果我想这样做怎么办:

Items *item = [[Items alloc] init];
item.first = @"bla";
item.second = @"bla bla";
Run Code Online (Sandbox Code Playgroud)

我想将该对象传递给另一个方法,然后将其与上下文关联并保存.

那么有什么方法可以做一个简单的item.managedObjectContext = _context或类似的东西?

Mar*_*ams 4

这种方法是完全有效的......

Items *item = [[Item alloc] initWithEntity:entity insertIntoManagedObjectContext:nil];
item.first = @"blah";
item.second = @"blah blah";
Run Code Online (Sandbox Code Playgroud)

然后,您可以自由地将这个对象传递到需要的地方,并且当您准备好将其提交到托管对象上下文时,只需将其插入并保存即可。

[managedObjectContext insertObject:item];
NSError *error = nil;
[managedObjectContext save:&error];
Run Code Online (Sandbox Code Playgroud)