6
多くのトラブルの後、私は最終的に私のコードをSwift 3.0に変換しました。Realm、Swift 3.0の自動インクリメントID
しかし、私のincrementID関数がもう機能していないようですね?
どのように修正することができますか?
私のincrementIDとprimaryKeyは現在のように機能します。
override static func primaryKey() -> String? {
return "id"
}
func incrementID() -> Int{
let realm = try! Realm()
let RetNext: NSArray = Array(realm.objects(Exercise.self).sorted(byProperty: "id")) as NSArray
let last = RetNext.lastObject
if RetNext.count > 0 {
let valor = (last as AnyObject).value(forKey: "id") as? Int
return valor! + 1
} else {
return 1
}
}
これはいくつかの問題を引き起こす可能性がありますように感じる。最大IDオブジェクトを削除してから別のオブジェクトを追加すると、その新しいオブジェクトのIDは削除されたオブジェクトのIDと同じになります。 –
削除されたオブジェクトのIDにはどのような問題がありますか? IDは自由に使用できるという意味ではありませんか?しかし、パフォーマンスの問題では、この値を1回だけクエリする必要があります。 –