代码之家  ›  专栏  ›  技术社区  ›  J. Doe

Realm数据库保存什么?也只有变量或函数?

  •  0
  • J. Doe  · 技术社区  · 7 年前

    在这个简单的类中:

    class Simple: Object{
        @objc var name: String = ""
    
        func doSomething(){}
    }
    

    当我将其保存到领域中时,会保存什么?仅变量还是函数?我之所以问这个问题,是因为当我得到很多简单的对象时,我当然不想保存函数。对象会变大,对性能造成负面影响。

    2 回复  |  直到 7 年前
        1
  •  0
  •   M. Wojcik    7 年前

    变量。它创建一个名为“name”的“column”。检查 realm docs .

    如果你有很多数据,你想浏览它,你可以用这个 Realm Browser 在这里,您可以清楚地看到您的领域数据库结构。

        2
  •  0
  •   Dávid Pásztor    7 年前

    你应该通读官方文件,尤其是 the part about supported model properties ,它清楚地提到了可以在领域对象中持久化的内容。

    只能保存某些受支持类型的属性( Int , String ,等等)或对其他领域对象的引用(如一对多、一对多或反向关系),但您无法保存函数引用,而且无论如何都没有意义。

    您可以将忽略的属性和函数添加到领域模型类中,但它们只存在于内存中,不会保存到领域中。对于函数,这是您实际需要的全部,将函数保存到本地存储没有任何意义。

    此外,您当前的模型存在缺陷,因为您的 name 属性缺少 dynamic 关键字,因此不能将其视为领域属性。