例如,如果我有一个名为NSManagedObject
的{{1}},并且我想稍后设置Items
(而不是在初始化时),我该怎么做?
目前我正在这样做:
ManagedObjectContext
自动将其与Items *item = [NSEntityDescription insertNewObjectForEntityForName:@"Items"
inManagedObjectContext:_context];
相关联。
但如果我想这样做怎么办:
_context
我希望将该对象传递给另一个方法,然后将其与上下文关联并保存。
那么有没有办法只做一个简单的Items *item = [[Items alloc] init];
item.first = @"bla";
item.second = @"bla bla";
或类似的东西?
答案 0 :(得分:4)
这种方法非常有效......
Items *item = [[Item alloc] initWithEntity:entity insertIntoManagedObjectContext:nil];
item.first = @"blah";
item.second = @"blah blah";
然后,您可以自由地将此对象传递到需要的位置,当您准备将其提交到托管对象上下文时,只需插入并保存即可。
[managedObjectContext insertObject:item];
NSError *error = nil;
[managedObjectContext save:&error];
答案 1 :(得分:1)
NSManagedObject
子类的标准init方法是-initWithEntity:insertIntoManagedObjectContext:
。如果您未提供上下文,请致电:
[myManagedObjectContext insertObject:item];
...这是init方法在内部执行的操作。你仍然需要像往常一样保存managedObjectContext。