使用 NSURL 检索托管对象 ID
Retrieving a managed objects ID with NSURL
我正在尝试从保存在我的用户默认值中的 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?
}
如有任何建议,我们将不胜感激。
要从 URI 表示中获取 NSManagedObjectID
,您必须在 NSManagedObjectContext
或 NSPersistentStoreCoordinator
- managedObjectIDForURIRepresentation:
上调用适当的方法。
URI 表示包括用于保存对象的存储的 UUID。调用 managedObjectIDForURIRepresentation:
将导致 Core Data 尝试根据该信息找到正确的存储,然后使用 URI 的其余部分来定位该特定对象。因此,请确保您商店的 UUID 不会在您每次启动时都发生变化。如果 Core Data 找不到与 URI 表示关联的数据 managedObjectIDForURIRepresentation:
将 return nil。
因此,例如,您可以执行以下操作:
NSManagedObjectID objectId = [[managedObjectContext persistentStoreCoordinator] managedObjectIDForURIRepresentation:uri];
或 swift:
let objectId:NSManagedObjectID = persistentStoreCoordinator.managedObjectIDForURIRepresentation(uri)
我正在尝试从保存在我的用户默认值中的 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?
}
如有任何建议,我们将不胜感激。
要从 URI 表示中获取 NSManagedObjectID
,您必须在 NSManagedObjectContext
或 NSPersistentStoreCoordinator
- managedObjectIDForURIRepresentation:
上调用适当的方法。
URI 表示包括用于保存对象的存储的 UUID。调用 managedObjectIDForURIRepresentation:
将导致 Core Data 尝试根据该信息找到正确的存储,然后使用 URI 的其余部分来定位该特定对象。因此,请确保您商店的 UUID 不会在您每次启动时都发生变化。如果 Core Data 找不到与 URI 表示关联的数据 managedObjectIDForURIRepresentation:
将 return nil。
因此,例如,您可以执行以下操作:
NSManagedObjectID objectId = [[managedObjectContext persistentStoreCoordinator] managedObjectIDForURIRepresentation:uri];
或 swift:
let objectId:NSManagedObjectID = persistentStoreCoordinator.managedObjectIDForURIRepresentation(uri)