Ios 创建nsmanagedobject而不保存[@Example]

Ios 创建nsmanagedobject而不保存[@Example],ios,nsmanagedobject,nsmanagedobjectcontext,Ios,Nsmanagedobject,Nsmanagedobjectcontext,我想创建一个NSManagedObject,但不想立即保存 在哪里可以找到创建临时NSmanagedObject的示例?这是在IOS7、IOS8上测试的 创建tmp NSManagedContext:要确保上下文解除时,NSManagedObject不会为零,请在应用程序委托中创建一个临时的NSManagedContext 在文件AppDelegate.swift中 import UIKit import CoreData @UIApplicationMain class AppDelegat

我想创建一个
NSManagedObject
,但不想立即保存


在哪里可以找到创建临时
NSmanagedObject
的示例?

这是在IOS7、IOS8上测试的

创建tmp NSManagedContext:要确保上下文解除时,
NSManagedObject
不会为零,请在应用程序委托中创建一个临时的
NSManagedContext

在文件AppDelegate.swift中

import UIKit
import CoreData

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    private(set) var tmpContext : NSManagedObjectContext = NSManagedObjectContext()

    ....

}
创建NSManagedObject:调用
customfile.swift
tmp和主上下文。主上下文将用于访问
NSManagedObject
实例中的模型

    // CONTEXT
    let tmpContext     = (UIApplication.sharedApplication().delegate as AppDelegate).tmpContext
    let managedContext = (UIApplication.sharedApplication().delegate as AppDelegate).managedObjectContext!

    // ENTITY
    let entity         = NSEntityDescription.entityForName("MY_ENTITY_NAME", inManagedObjectContext: managedContext)
    let obj            = NSManagedObject(entity: entity!, insertIntoManagedObjectContext: tmpContext)
保存NSManagedObject:很遗憾,您无法通过传递主上下文来保存对象。为了避免这种情况,您需要复制所有
NSManagedObject

var error : NSError?

// CREATE YOUR NSManagedObject
    let managedContext     = (UIApplication.sharedApplication().delegate as AppDelegate).managedObjectContext!
    let entity             = NSEntityDescription.entityForName("MY_ENTITY_NAME", inManagedObjectContext: managedContext)
    let newObj             = NSManagedObject(entity: entity!, insertIntoManagedObjectContext: managedContext)


// COLLECT ALL VALUE SET OF YOUR OBJ            
    let keysObj            = (obj.entity.attributesByName as NSDictionary).allKeys
    let dictObj            = track.dictionaryWithValuesForKeys(keysObj)


 newObj.setValuesForKeysWithDictionary(dictObj)

 // SAVE ALL

 managedContext.processPendingChanges()
 managedContext.insertObject(newObj)
 managedContext.save(&error) // dont forget to check