2015-02-06 38 views
0

我已經創建了一個新實體並將其保存。然後我想從第一個實體中獲取最後一個插入ID,然後將其作爲參考ID保存到第二個實體中。Swift - 如何獲取Core Data中的最後一個插入ID,將其存儲在NSUserDefault和謂詞

let appDel: AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate) 

     let userContext: NSManagedObjectContext = appDel.managedObjectContext! 
     let userEn = NSEntityDescription.entityForName("UserEntity", inManagedObjectContext: userContext) 

     var newUser = Users(entity: userEn!, insertIntoManagedObjectContext: userContext) 

     newUser.uname = "Nurdin" 

     userContext.save(nil) 

然後如何將最後一個插入ID保存到NSUserDefault中?因爲我想用CoreData中的現有數據進行謂詞匹配以達到匹配目的。

請指教。謝謝。

回答

1

你奇蹟般地問核心數據的最新ID ...

但你的例子。只需添加一個行後保存到存儲ID ...

let string = user.objectID.URIRepresentation().absoluteString 
    NSUserDefaults.standardUserDefaults().setObject(string, forKey: "userID") 

...反之亦然...

let oidString = NSUserDefaults.standardUserDefaults().stringForKey("userID") 
    let url = NSURL(string: oidString) 
    let objectID = persistentStoreCoordinator.managedObjectIDForURIRepresentation(url) 
+0

那麼如何找回? – 2015-02-06 13:56:26

+0

?保存後,請注意oid - 如 – 2015-02-06 13:57:08

+1

所示,反之亦然。雖然注意!我在內部編寫了代碼,所以可能會出現輸入錯誤 – 2015-02-06 13:57:23

相關問題