AsyncMongoDB

extension AsymmetricObject

初期化子

  • Realm オブジェクトの非マネージド インスタンスを作成します。

    value引数はオブジェクトにデータを入力するために使用されます。 キーと値に準拠したオブジェクト、 NSJSONSerializationのメソッドから返された配列または辞書、または管理されているプロパティごとに 1 つの要素を含むArrayにすることができます。 必須 プロパティが存在せず、それらのプロパティがデフォルト値で定義されていない場合は、例外がスローされます。

    value引数としてArrayを渡す場合、すべてのプロパティが存在し、有効で、モデルで定義されたプロパティと同じ順序にある必要があります。

    宣言

    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]

    戻り値

    パブリックとプライベートのプロパティ名の辞書。

キー値のコーディングとサブスクリプション

  • 指定された名前のプロパティの値を返すか設定します。

    宣言

    Swift

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