目前,我正在使用这个带有Predicate的获取来了解是否已经有相同的主键值:
类别类别:
class Category: Object
{
dynamic var name = ""
override static func primaryKey() -> String? {
return "name"
}
}
正在验证具有主键(名称)值的类别对象是否已存在。
let predicate = NSPredicate(format: "name == %@", newCategoryName)
let realm = try Realm()
let categories = realm.objects(Category).filter(predicate).sorted("name")
if categories.count > 0
{
//Duplicate Object with newCategoryName found
}
有什么更简单的方法吗?
以下是如何使用它来检查是否已经有一个具有该主键的对象:
let category = Realm().objectForPrimaryKey(Category.self, key: newCategoryName)
if (category != nil) {
//Duplicate Object with newCategoryName found
}
您可以将Realm.add(_:update:)
或Realm.create(_:update:)
与update == true
一起使用来更新具有相同主键值的现有对象。或者,您可以使用Realm.objectForPrimaryKey(_:key:)
从主键中获取现有对象。