我尝试使用Realm以快速的语言将对象保存到数据库中,但是总是会遇到这样的异常
“ RLMException”,原因:“表没有列
我遵循互联网上有关如何根据Realm进行课堂教学的规则,但从未解决过这个问题。
需要保存到数据库的对象类:
import Foundation
import RealmSwift
class GoTCharacter: Object{
@objc dynamic var name: String = ""
@objc dynamic var gender: String = ""
@objc dynamic var aliases: [String] = []
convenience init(withName name: String, gender: String, aliases: [String]) {
self.init()
self.name = name
self.gender = gender
self.aliases = aliases
}
}
引发异常的代码(realm.add()):
let realm = try! Realm()
try! realm.write {
realm.add(GoTCharacter(withName: "Jon Snow", gender: "Male", aliases: [
"Lord Snow"]))
}
答案 0 :(得分:1)
Realm不支持这样的数组属性。替换为:
@objc dynamic var aliases: [String] = []
具有以下内容:
let aliases = List<String>()
并调整您的代码以使用aliases
属性的新类型,例如在便利构造器中:
convenience init(withName name: String, gender: String, aliases: [String]) {
self.init()
self.name = name
self.gender = gender
self.aliases.append(objectsIn: aliases)
}