Core data 实例化NSManagedObject实例的不同方法
作为CoreData的初学者,到目前为止,我已经找到了三种实例化NSManagedObject实例的不同方法:Core data 实例化NSManagedObject实例的不同方法,core-data,Core Data,作为CoreData的初学者,到目前为止,我已经找到了三种实例化NSManagedObject实例的不同方法: 1: let myEntity = NSEntityDescription.entityForName("MyEntity", inManagedObjectContext: managedContext)! let instance = MyEntity(entity: myEntity, insertIntoManagedObjectContext: managedContext)
1:
let myEntity = NSEntityDescription.entityForName("MyEntity", inManagedObjectContext: managedContext)!
let instance = MyEntity(entity: myEntity, insertIntoManagedObjectContext: managedContext)
instance.someProperty = someValue
try! managedContext.save()
2:
let myEntity = NSEntityDescription.entityForName("MyEntity",
inManagedObjectContext:managedContext)
let instance = NSManagedObject(entity: entity!, insertIntoManagedObjectContext: managedContext)
instance.setValue(someValue, forKey: "someProperty")
try! managedContext.save()
3:
let instance = NSEntityDescription.insertNewObjectForEntityForName("MyEntity", inManagedObjectContext: managedContext) as! MyEntity
instance.somePropery = someValue
try! managedContext.save()
这些方法之间有显著差异吗?前两种方法相同。在这两种情况下,您都使用相同的
NSManagedObject
init方法
NSEntityDescription.insertNewObjectForEntityForName(entityName:String,inManagedObjectContext:NSManagedObjectContext)
的文档说明此方法“在概念上类似于”NSManagedObject.init(实体:NSEntityDescription,InsertingManagedObjectContext:NSManagedObjectContext?)
:
所以,你可以使用任何方便你的方法