使用Restkit为NSManagedObject类创建实例

时间:2012-08-26 04:39:40

标签: iphone objective-c xcode core-data restkit

如何为我使用核心数据模型创建的NSmanagedObject类创建实例。我有另一个类,它是NSObject的子类。我想为NSManageObject类创建一个对象。我怎样才能做到这一点。这是我们为NSobject类创建实例的正常方式,如

ClassB.m // ClassB是NSObject类

ClassA *obj = [[ClassA alloc]init]; //ClassA is NSmanagedObject Class

还是有办法做到这一点???

我没有使用此代码(Apple Docs)来创建实例

NSManagedObject *newEmployee = [[NSManagedObject alloc]

            initWithEntity:employeeEntity

            insertIntoManagedObjectContext:context];

我想知道,有没有办法使用restkit

创建一个类似于上面代码的对象

注意:我使用Restkit来创建对象实例和映射。

由于

2 个答案:

答案 0 :(得分:5)

使用Restkit,您可以在要创建的类上使用静态方法对象。在你的例子中

  

[ClassA object]

会返回一个实例化对象。

请务必导入正确的标题:

  

#import <RestKit/CoreData.h>

而不是

  

#import <CoreData/CoreData.h>

答案 1 :(得分:0)

不,您不希望通过alloc / init实例化NSManagedObject。您应该使用NSEntityDescription的{​​{1}}。类似的东西:

insertNewObjectForEntityForName:inManagedObjectContext:

要获得ClassA *obj = [NSEntityDescription insertNewObjectForEntityForName:@"ClassA" inManagedObjectContext:context]; // ClassA is NSManagedObject Class ,您还需要NSManagedObjectContextNSPersistentStoreCoordinator等等。是的,这很复杂。 This book真的帮助我了解核心数据;我全心全意地推荐它。

请参阅Core Data Programming Guide section on creating and deleting managed objects。实际上,当你在那里时,我建议你阅读整个Core Data Programming Guide。核心数据惊人而强大,但它很复杂;你真的想知道你在做什么。

更新:您使用RestKit的事实可能会改变我上面所说的内容。它可能是RestKit拥有自己的用于执行核心数据的API,我不确定。也许查看文档。