【发布时间】:2018-05-10 01:48:24
【问题描述】:
我是 iOS 开发和编程的初学者,我正在尝试制作一个包含名为 RealmService 的领域 CRUD 操作的 swift 文件,因此我不必编写 do catch 块并尝试!到处都是领域,就像我下面的代码
import Foundation
import RealmSwift
class RealmService {
var realm = try! Realm()
func save(_ object: Object) {
do {
try realm.write {
realm.add(object)
}
} catch {
print("Failed to save \(object) in realm: \(error.localizedDescription)")
}
}
func load(_ object: Object) -> Results<Object>? {
return realm.objects(object.self)
}
func update(_ object: Object, with dictionary: [String: Any?]) {
do {
try realm.write {
for (key, value) in dictionary {
object.setValue(value, forKey: key)
}
}
} catch {
print("Failed to update \(object) in realm: \(error.localizedDescription)")
}
}
func delete(_ object: Object) {
do {
try realm.write {
realm.delete(object)
}
} catch {
print("Failed to delete \(object) in realm: \(error.localizedDescription)")
}
}
}
但在load 方法中,我在realm.objects(object.self) 行中收到错误,据说
无法将“对象”类型的值转换为预期的参数类型 '对象.类型'
我认为我在 realm.objects 中插入 object.self 时出错了。它应该是 element.type,但我不知道这个元素类型是什么,就像这张图片
如何从领域加载数据?遗憾的是,我只是通过使用realm.objects(object.self)从 youtube 教程中了解了一点
【问题讨论】:
-
什么是
Results<Object>? -
我是新手,但据我所知,如果我们从领域数据库加载数据,数据类型应为 Result
-
对。看起来返回值 (
realm.objects(object.self)) 不是Result<Object>类型。 -
我认为在 realm.objects 中插入 object.self 时会出错。它应该是element.type,但我不知道这个元素类型是什么像这张图片i.stack.imgur.com/TVIs6.png
-
将鼠标悬停在变量上,按选项键并单击变量。应该告诉你类型。