在这个简单的类中:
class Simple: Object{
@objc var name: String = ""
func doSomething(){}
}当我将它保存到Realm中时,会保存什么?只是变量还是函数?我这样问的原因是,当我得到很多简单的对象时,我当然不想保存这些函数。对象会变得更大,从而对性能产生负面影响。
发布于 2018-02-23 19:38:44
变量。它创建了一个名为"name“的”column“。检查realm docs。
另外,如果您有很多数据,并且您想要浏览这些数据,您可以使用此Realm Browser进行浏览,您可以在其中清楚地看到您的领域数据库结构。
发布于 2018-02-23 20:29:25
您应该通读官方文档,特别是the part about supported model properties,其中清楚地提到了您可以在领域对象中持久化的内容。
只能保存某些受支持类型(Int、String等)的属性。或者对其他领域对象的引用(作为一对多、一对多或反向关系),但是您不能保存函数引用,而且无论如何它都没有意义。
您可以将忽略的属性和函数添加到领域模型类中,但它们只存在于内存中,不会保存到领域中。对于你真正需要的函数,将函数保存到本地存储没有任何意义。
此外,您当前的模型是有缺陷的,因为您的name属性在其声明中缺少dynamic关键字,因此不能将其视为Realm属性。
https://stackoverflow.com/questions/48946974
复制相似问题