AsymmetricObject

extension AsymmetricObject

이니셜라이저

  • Realm 객체의 관리되지 않는 인스턴스를 만듭니다.

    value 인수는 객체를 채우는 데 사용됩니다. 키-값 코딩을 준수하는 객체, NSJSONSerialization 의 메서드에서 반환된 배열 또는 사전 또는 각 managed 속성에 대해 하나의 요소를 포함하는 Array 일 수 있습니다. 필수 속성이 없고 해당 속성이 기본값으로 정의되지 않은 경우 예외가 발생합니다.

    Arrayvalue 인수로 전달할 때 모든 속성이 존재하고 유효해야 하며 모델에 정의된 속성과 동일한 순서여야 합니다.

    선언

    스위프트

    public convenience init(value: Any)

    매개변수

    value

    객체를 채우는 데 사용되는 값입니다.

속성

객체 사용자 지정

  • 공개-비공개 속성 이름 맵을 지정하려면 이 메서드를 재정의합니다. 이렇게 하면 Realm에 다른 영구 속성 이름이 설정되고 속성을 다루는 모든 작업에 공개 이름을 사용할 수 있습니다. (예: 쿼리, 정렬 등). 이는 Device Sync JSON 스키마의 속성 이름을 로컬 속성 이름에 매핑해야 하는 경우 매우 유용합니다.

    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"]
        }
    }
    

    참고

    열 이름이 다른 속성만 속성 매핑 사전에 추가하면 됩니다.

    선언

    스위프트

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

    반환 값

    public-private 속성 이름 사전입니다.

키-값 코딩 & 구독

  • 지정된 이름을 가진 속성의 값을 반환하거나 설정합니다.

    선언

    스위프트

    @objc
    open subscript(key: String) -> Any? { get set }