【发布时间】:2014-11-26 22:28:23
【问题描述】:
我在一个新的 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
【问题讨论】:
-
到 realm.io 文档的链接断开
-
在启动 Realm Swift 时,我们已将“cocoa”文档移至“objc”,因此请尝试使用此链接:realm.io/docs/objc/latest/api/Classes/RLMObject.html#//api/name/…我们正在设置旧链接的重定向,所以这不会在未来造成同样多的混乱。
-
从旧链接到新文档的重定向似乎不起作用,所以我用新链接更新了我的问题。