我正在一个新的iOS Swift项目中使用Realm。我使用的是Xcode 6.0.1和iOS SDK 8.0以及Realm 0.85.0。
我尝试使用新的Realm主键功能,以便我可以执行addOrUpdateObject
操作。
以下是一个示例模型:
import Foundation
import Realm
class Foo: RLMObject {
dynamic var id = 0
dynamic var title = ""
func primaryKey() -> Int {
return id
}
}
我正在尝试添加/更新一个新对象:
let foo = Foo()
foo.title = titleField.text
foo.id = 1
// Get the default Realm
let realm = RLMRealm.defaultRealm()
// Add to the Realm inside a transaction
realm.beginWriteTransaction()
realm.addOrUpdateObject(foo)
realm.commitWriteTransaction()
我收到了这个错误:
RLMExecption',原因是:“'Foo'没有主键,无法更新
这里是有关主键的文档。 我可能没有正确设置它:
http://realm.io/docs/cocoa/0.85.0/api/Classes/RLMObject.html#//api/name/primaryKey
最新的文档现在在这里: https://realm.io/docs/objc/latest/api/Classes/RLMObject.html#//api/name/primaryKey