6
Sau nhiều rắc rối, cuối cùng tôi đã chuyển mã của mình thành Swift 3.0.ID tăng tự động trong Realm, Swift 3.0
Nhưng có vẻ như chức năng incrementID của tôi không hoạt động nữa?
Bất kỳ đề xuất nào về cách tôi có thể sửa lỗi này?
Hàm incrementID và primaryKey của chúng giống như lúc này.
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
}
}
Tôi cảm thấy điều này có thể gây ra một số vấn đề. Nếu bạn xóa đối tượng id tối đa, sau đó thêm một đối tượng khác thì id của đối tượng mới sẽ giống với id của đối tượng đã xóa. –
Vấn đề với id của đối tượng đã xóa là gì? Nó không có nghĩa là ID được sử dụng miễn phí? Nhưng đối với vấn đề hiệu suất, bạn chỉ nên truy vấn giá trị này một lần. –