AsymmetricObject
extension AsymmetricObject
-
创建 Realm 对象的非托管实例。
value
参数用于填充对象。 它可以是键值编码兼容对象、从NSJSONSerialization
中的方法返回的数组或字典,或者是包含每个托管属性一个元素的Array
。 如果任何必需属性不存在且未为这些属性定义默认值,则会引发异常。传入
Array
作为value
参数时,所有属性都必须存在、有效,并且顺序与模型中定义的属性相同。声明
Swift
public convenience init(value: Any)
参数
value
用于填充对象的值。
-
列出对象的托管属性的对象模式。
声明
Swift
public var objectSchema: ObjectSchema { get }
-
对象的人类可读描述。
声明
Swift
open override var description: String { get }
-
重写此方法以指定公有-私有属性名称的映射。 这将在 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]
返回值
公有-私有属性名称的字典。
-
返回或设置具有给定名称的属性的值。
声明
Swift
@objc open subscript(key: String) -> Any? { get set }