AsymmetricObject

extension AsymmetricObject

初始化器

  • 创建 Realm 对象的非托管实例。

    value参数用于填充对象。 它可以是键值编码兼容对象、从NSJSONSerialization中的方法返回的数组或字典,或者是包含每个托管属性一个元素的Array 。 如果任何必需属性不存在且未为这些属性定义默认值,则会引发异常。

    传入Array作为value参数时,所有属性都必须存在、有效,并且顺序与模型中定义的属性相同。

    声明

    Swift

    public convenience init(value: Any)

    参数

    value

    用于填充对象的值。

属性

对象定制

  • 重写此方法以指定公有-私有属性名称的映射。 这将在 Realm 上设置不同的持久属性名称,并允许对该属性的任何操作使用公共名称。 (例如:查询、排序……)。 如果您需要将属性名称从Device Sync JSON schema映射到本地属性名称,这非常有帮助。

    class Person: AsymmetricObject {
        @Persisted var firstName: String
        @Persisted var birthDate: Date
        @Persisted var age: Int
    
        override class public func propertiesMapping() -> [String : String] {
            ["firstName": "first_name",
             "birthDate": "birth_date"]
        }
    }
    

    注意

    只有具有不同列名的属性才必须添加到属性映射字典中。

    声明

    Swift

    open override class func propertiesMapping() -> [String : String]

    返回值

    公有-私有属性名称的字典。

键值编码和下标