好吧,好像我在問一個noob問題(也許我和我剛剛忽略了重要細節),但我正在尋找一個關於泛型NSManagedObject的「區分」數字/屬性,我可以用作ID號碼(我不能使用名稱B/C我想讓用戶創建具有相同名稱的實體)。如果這不存在,請解釋我將如何重新創建它。我明白,我可以爲此添加一個屬性並增加一個靜態變量(例如:currentId),但如果我這樣做,那麼我必須考慮一個實體被刪除,那麼如何邏輯地將下一個插入的實體放在該索引處,然後返回到最後一個索引。NSManagedObject標識號
0
A
回答
0
核心數據沒有自動遞增的ID字段的概念,請記住核心數據是對象圖,而不是數據庫。恰巧一個數據存儲可以由數據庫系統支持,一個完美的例子就是SqlLite。
NSManagedObjectId有點像GUID唯一的URL。如果你想要某種自動遞增的id,你將不得不自己處理這個問題,顯然有很多不同的方法可以解決這個問題。您可以有一個單獨的實體,存儲分配的最後一個ID,並在每次創建新記錄時讀取它,增加值,將其用作新ID並增加存儲值。如果您不想重複使用ID,這將解決您的刪除問題。這裏有明顯的併發問題,您可能需要解決。另一種方法可能是將ID存儲在文件系統中的文件中,或者存儲在NSUserDefaults中,只要確保考慮併發性並且不會意外分配兩次相同的ID。
0
NSManagedObjects有一個objectID方法,但我不相信它們是以任何順序創建的。
個人我只會使用和ID屬性。我不明白的是爲什麼刪除會導致任何問題。身份證只會坐在幕後,沒有任何真正的理由向用戶展示它,對吧?
0
相關問題
- 1. NSManagedObject的唯一標識符
- 2. 用唯一標識符獲取NSManagedObject?
- 3. C#標識屏幕號碼?
- 4. 排序唯一標識號
- 5. 號碼作爲標識符
- 6. BIOS內部版本號和標識號?
- 7. NSManagedObject與活性目標C
- 8. 自動更新唯一標識號
- 9. php刪除/標識此符號
- 10. 如何跳過標識列的編號?
- 11. 圍繞圓括號標識符Java
- 12. 變量標識中的冒號
- 13. Kubernetes列出所有容器標識號
- 14. 用於標識用戶的UDID號碼
- 15. 唯一號碼標識符生成
- 16. 重新編號的標識列
- 17. 在jquery/Javascript中獲取父標識號
- 18. Drupal:重新編號節點標識
- 19. 正則表達式 - 僅在大括號內標識雙引號
- 20. 識別符號
- 21. 符號識別
- 22. 從NSManagedObject
- 23. NSManagedObject Faulted
- 24. NSManagedObject initWithEntity:insertIntoManagedObjectContext:EXC_BAD_ACCESS
- 25. 標識識別3.1
- 26. 在大熊貓的數據幀與標點符號標識行
- 27. NSManagedObject基類的無法識別的選擇器
- 28. Twilio調用者標識和Asp.Net標識
- 29. 標識中的字符標識
- 30. haskell標識符識別
正確的,這是可行的,用戶永遠看不到它們,但我期待到原始值的限制,如果用戶增加比多(例如說)int類型的實體的最大值(其更有可能發生在我的程序中),那麼錯誤就會開始發生。 – Jaba
然後我的下一個問題是id的目的是什麼?你希望它爲你完成objectID方法沒有的事情? – sosborn
可能將Core Data方案同步到在線數據庫。 – Jaba