在这个简单的课程中:
class Simple: Object{
@objc var name: String = ""
func doSomething(){}
}
当我将其保存到Realm中时,会保存什么?仅变量或函数?我问这个的原因是因为当我得到很多简单的对象时,我不想保存课程的功能。对象会变得更大,从而对性能产生负面影响。
答案 0 :(得分:0)
变量。它创建一个名为“name”的“列”。查看realm docs。
此外,如果您有大量数据并且想要浏览它,您可以使用此Realm Browser进行浏览,您可以清楚地看到您的领域数据库结构。
答案 1 :(得分:0)
您应该阅读官方文档,特别是the part about supported model properties,它明确提到了您可以在Realm对象中保留的内容。
您只能保存某些受支持类型(Int
,String
等)的属性或对其他Realm对象的引用(作为一对一,一对多或反对关系) ),但你无法保存函数引用,反正它也没有意义。
您可以将忽略的属性和函数添加到Realm模型类中,但它们只存在于内存中,它们不会保存到Realm中。对于功能而言,这就是你真正需要的,将功能保存到本地存储是没有意义的。
此外,您当前的模型存在缺陷,因为您的name
属性在其声明中缺少dynamic
关键字,因此无法将其视为Realm属性。