2016-10-27 86 views
1

有沒有一些優點或缺點不執行該功能?爲什麼Realm不支持自動增量主鍵?

我知道有一些solutions存在,它存在路線圖,但是我們沒有獎勵那個決定背後有什麼優勢嗎?

+0

我認爲有更重要的事情要做,考慮到你可以用6行代碼設置自動增量主鍵 – EpicPandaForce

+0

是的,但它是那些通常是開箱即用的東西之一,所以我想必須有我們缺少的東西......對嗎? –

+1

你正試圖解決的用例是什麼?有可能比自動遞增主鍵更好的選擇。 – Michael

回答

5

在關於Github的討論中(見realm/realm-cocoa#2591),Realm團隊表示,即使開發人員可以使用幾行代碼來實現此功能,但您仍然沒有支持任何自動增量字段的計劃。

從討論的一個境界成員:

我們決定,我們不會支持這個功能,因爲我們將無法從多個進程同時訪問支持。

就這樣。

+0

好吧,設置自動增加主鍵真的很容易。至少好知道。 –

+0

雖然有點奇怪。它們在寫入事務期間支持多進程鎖定。 – EpicPandaForce

+2

更重要的問題是,自動遞增的密鑰不適用於跨設備的脫機同步。 Realm也不需要關鍵字的鍵,這是它們存在於SQL中的主要原因。另外兩個用例是'創建後排序'和'查找鍵'。如果你想根據對象的創建時間進行排序,那麼創建一個'Date created = new Date()'就行了。如果它有一個簡單查找的唯一鍵'String id = UUID.random()。toString();'將起作用。 –