ios - Instantiate a NSManagedObject without saving it -


i got class :

@objc(user) class user: nsmanagedobject {      @nsmanaged var id: string      //mark: - initialize     convenience init(id: string,  context: nsmanagedobjectcontext?) {          // create nsentitydescription         let entity = nsentitydescription.entityforname("user", inmanagedobjectcontext: context!)           // super init top init         self.init(entity: entity!, insertintomanagedobjectcontext: context)           // init class variables         self.id = id      } } 

i create new user in viewcontroller :

managedobjectcontext = (uiapplication.sharedapplication().delegate as! appdelegate).managedobjectcontext!  var auser = user(id: "500t", context: managedobjectcontext) 

i have class "group" group have many users. save user

agroup!.users = nsset(array: users!) !managedobjectcontext.save 

i don't want save users. how can instantiate user without saving ?

i found answer , add needsave boolean user init. maybe it's not best answer it's working.

@objc(user) class user: nsmanagedobject {      @nsmanaged var id: string      //mark: - initialize     convenience init(id: string, needsave: bool,  context: nsmanagedobjectcontext?) {          // create nsentitydescription         let entity = nsentitydescription.entityforname("user", inmanagedobjectcontext: context!)           if(!needsave) {             self.init(entity: entity!, insertintomanagedobjectcontext: nil)         } else {             self.init(entity: entity!, insertintomanagedobjectcontext: context)         }          // init class variables         self.id = id      } } 

Comments