【问题标题】:ios: Realm swift throws RLMException for no reasonios:Realm swift 无缘无故抛出 RLMException
【发布时间】:2019-10-31 01:39:58
【问题描述】:

我尝试使用 Realm 使用 swift 语言将对象保存到数据库中,但总是得到这样的异常

'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"]))
}

【问题讨论】:

    标签: ios swift iphone realm


    【解决方案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)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-14
      • 1970-01-01
      • 1970-01-01
      • 2015-08-07
      • 1970-01-01
      • 2022-08-16
      • 2019-02-19
      • 1970-01-01
      相关资源
      最近更新 更多