我有一個iPhone和iPad等IOS的項目。對於我使用CoreData來保存用戶在應用中輸入的數據的項目。爲了便於理解,可以說它就像一個聯繫人應用程序。所以基本上你知道你有你的名字,工作,電話等。這個應用程序也存儲每個「聯繫人」的圖像。當然可選。爲防止數據庫效率低下,我使用下面的代碼將路徑存儲到DocumentsDirectory中。該圖像通過使用ManagedObjects id來調用,該id也是圖像名稱中使用的名稱。但是,多個對象可以具有相同的ID,這會導致一些問題。CoreData iOS - 如何爲對象創建唯一的ID?
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"Person%i.jpg",[[_detailItem id] intValue]]];
基本上我正在使用人的id的形象。但是,多人可以擁有相同的ID(一個int-32)。而不是這樣做,我想知道是否有CoreData創建的方式或可以爲存儲的每個對象創建唯一標識。這樣,如果我改變它不會失去它的圖片,或者如果另一個對象具有相同的ID它不會使用相同的圖片。
有些數據庫像我以前使用的MySQL有一個屬性選項,它可以爲用戶/論壇/帖子/ etc等提供一個唯一的ID ...在XCode的CoreData中是否有類似的東西?我不願意通過解析每個對象來得到一個尚未被使用的數字。
描述當已經有答案了,投零以上,爲什麼國防部下來其他的答案,尤其是當其他人給出了基本相同的答案?所有的答案都是在大約同一時間給出的,所以我們甚至不會互相重複。對我來說這似乎很小。 (順便說一下,我給湯姆的回答提供了第一張票,因爲我發佈了我的票後看到了它,這樣更好,那還是沒有理由懲罰我和馬修。) – Avi