mar*_*tin 1 core-data nsmanagedobject nsmanagedobjectcontext ios swift
我正在尝试从保存在用户默认值中的NSURL中检索和创建托管对象,但我无法弄清楚如何使用managedObjectIDForURIRepresentation函数.我的代码看起来像这样:
func setCoreData(){
let defaults = NSUserDefaults.standardUserDefaults()
let usedKeyName = "timerList"
let usedList = defaults.objectForKey(usedKeyName) as? [NSURL] ?? []
let url:NSURL = usedList[0] as NSURL
let managedobject:NSManagedObjectID = //What do I write here?
}
Run Code Online (Sandbox Code Playgroud)
任何建议,将不胜感激.
要从NSManagedObjectIDURI表示中获取,必须在NSManagedObjectContext或NSPersistentStoreCoordinator- 上调用适当的方法managedObjectIDForURIRepresentation:.
URI表示包括用于保存对象的商店的UUID.调用managedObjectIDForURIRepresentation:将导致Core Data尝试根据该信息找到正确的存储,然后使用URI的其余部分来查找该特定对象.因此,请确保每次启动时商店的UUID都不会更改.如果Core Data无法找到与URI表示关联的数据,managedObjectIDForURIRepresentation:则返回nil.
所以,举例来说,你会做类似的事情:
NSManagedObjectID objectId = [[managedObjectContext persistentStoreCoordinator] managedObjectIDForURIRepresentation:uri];
Run Code Online (Sandbox Code Playgroud)
或者在快速:
let objectId:NSManagedObjectID = persistentStoreCoordinator.managedObjectIDForURIRepresentation(uri)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1298 次 |
| 最近记录: |