1
A
回答
2
这是在IOS7,IOS8上测试的。
创建TMP NSManagedContext:为了确保您的NSManagedObject
不会是零,当你的背景下会创建的dealloc在你的应用程序代理临时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
相关问题
- 1. 你可以在不保存的情况下验证NSManagedObject吗?
- 2. Django REST序列化程序:在不保存的情况下创建对象
- 3. Rails vestal_versions gem在不保存父项的情况下创建版本
- 4. 在不创建实例的情况下创建一个类?
- 5. 在不创建日历的情况下创建iCal事件
- 6. 在不创建多线程的情况下创建splashscreen
- 7. Qt5:在不保存到硬盘的情况下下载文件
- 8. 在某些情况下只保存NSManagedContext
- 9. 在不创建项目的情况下构建NDK源码
- 10. 在某些情况下创建它
- 11. 在不使用布局的情况下创建标签式UI
- 12. 在没有malloc的情况下创建内存缓冲区
- 13. 在不保存的情况下验证habtm关联的长度
- 14. 只有在SQLite中不存在的情况下才在SQLite中创建表
- 15. 如何在不发送信号的情况下保存模型?
- 16. 在不保存文件的情况下合并PDF文件
- 17. 在不保存的情况下捕获图像
- 18. SmartLock在不询问的情况下保存Facebook凭证
- 19. 在不保存修改的情况下导航警报
- 20. Hibernate在不插入父项的情况下保存子实体
- 21. 在不保存的情况下运行ActiveRecord验证
- 22. 如何在不保存的情况下预览html文件?
- 23. 如何在不触发事件的情况下保存数据
- 24. 可以在不调用Close()的情况下保存OpenXML Spreadsheet?
- 25. 如何在不使用GDI +的情况下保存图像?
- 26. 在不使用SaveFileDialog(UWP)的情况下保存InkCanvas笔画
- 27. 如何在不保存的情况下使用validate()grails方法?
- 28. 在不使用kibana的情况下在kibana中创建索引
- 29. 创建参数的情况下
- 30. Noobish在当前情况下不存在