Map

public final class Map<Key, Value> : RLMSwiftCollectionBase where Key : _MapKey, Value : RealmCollectionValue
extension Map: ObservableObject, RealmSubscribable
extension Map: Sequence
extension Map: RealmKeyedCollection
extension Map: Decodable where Key: Decodable, Value: Decodable
extension Map: Encodable where Key: Encodable, Value: Encodable

マップは、サポートされている Realm タイプを保存するために使用されるキー値のストレージ コンテナです。

マップは、保存するタイプにパラメータ化されるジェネリックタイプです。 これは、オブジェクト サブクラスまたは次のいずれかのタイプになります: ブール、Int、Int8、Int16、Int32、Int64、浮動小数点数、 double 、 string 、Data、Date、Decimal128、 ObjectId (およびこれらの任意バージョン)

注意

Objectを除く上記タイプの任意バージョンは、同期されていない Realm でのみサポートされます。

マップではキーとしてStringのみをサポートしています。 Realm では、辞書キー内で.または$文字の使用が禁止されています。

Swift のネイティブ コレクションとは異なり、 Mapは参照型であり、それを管理する Realm が読み取り専用として開かれている場合にのみ不変です。

Results<Value>と同じ述語でマップをフィルタリングおよびソートすることができます。

プロパティ

  • マップを管理する Realm、またはマップが管理されていない場合はnil

    宣言

    Swift

    public var realm: Realm? { get }
  • マップがアクセスできなくなっているかどうかを示します。

    宣言

    Swift

    public var isInvalidated: Bool { get }
  • このマップ内のすべてのキーを返します。

    宣言

    Swift

    public var keys: [Key] { get }
  • このマップ内のすべての値を返します。

    宣言

    Swift

    public var values: [Value] { get }

初期化子

  • タイプValueの Realm モデル オブジェクトを保持するMapを作成します。

    宣言

    Swift

    public override init()

  • このマップ内のキーと値のペアの数を返します。

    宣言

    Swift

    @objc
    public var count: Int { get }

ミューテーション

  • 指定されたキーのマップに保存されている値をアップデートし、キーが存在しない場合は新しいキーと値のペアを追加します。

    注意

    マップに追加される値が非管理オブジェクトで、かつマップが管理されている場合、その非管理オブジェクトは Realm に追加されます。

    警告

    このメソッドは、書込みトランザクション中にのみ呼び出されます。

    宣言

    Swift

    public func updateValue(_ value: Value, forKey key: Key)

    パラメーター

    value

    値のキーパス述語。

    forKey

    並べ替える方向。

  • 結合閉じる を使用して重複キーの値を決定し、指定された辞書をこのマップにマージします。

    このマップにすでに存在するキーがdictionaryに含まれている場合、マップに現在ある値と辞書にある値を使用してcombineが呼び出されます。 閉じるによって返された値は、そのキーのマップに保存されます。

    注意

    マップに追加される値が非管理オブジェクトで、かつマップが管理されている場合、その非管理オブジェクトは Realm に追加されます。

    警告

    このメソッドは、書込みトランザクション中にマネージド マップでのみ呼び出されます。

    宣言

    Swift

    public func merge<S>(_ sequence: S, uniquingKeysWith combine: (Value, Value) throws -> Value) rethrows
            where S: Sequence, S.Element == (key: Key, value: Value)

    パラメーター

    dictionary

    このマップにマージする辞書。

    combine

    重複キーの現在の値と新しい値を取る 閉じる 。 閉じると、最終マップの目的の値が返されます。

  • 指定されたマップをこのマップにマージし、重複するキーの値を決定するために結合されます。

    このマップにすでに存在するキーがotherに含まれている場合、マップに現在ある値と他のマップにある値を使用してcombineが呼び出されます。 閉じるによって返された値は、そのキーのマップに保存されます。

    注意

    マップに追加される値が非管理オブジェクトで、かつマップが管理されている場合、その非管理オブジェクトは Realm に追加されます。

    警告

    このメソッドは、書込みトランザクション中にマネージド マップでのみ呼び出されます。

    宣言

    Swift

    public func merge(_ other: Map<Key, Value>, uniquingKeysWith combine: (Value, Value) throws -> Value) rethrows

    パラメーター

    other

    このマップにマージするマップ。

    combine

    重複キーの現在の値と新しい値を取る 閉じる 。 閉じると、最終マップの目的の値が返されます。

  • 指定されたキーとそれに関連付けられたオブジェクトを、キーがマップ内に存在する場合にのみ削除します。 キーが存在しない場合、マップは変更されません。

    警告

    このメソッドは、書込みトランザクション中にのみ呼び出されます。

    宣言

    Swift

    public func removeObject(for key: Key)
  • マップからすべてのオブジェクトを削除します。 オブジェクトは、それらを管理する Realm から削除されません。

    警告

    このメソッドは、書込みトランザクション中にのみ呼び出されます。

    宣言

    Swift

    public func removeAll()
  • 指定されたキーの値を返します。または、サブスクリプトを割り当てに使用する場合は、キーの値を設定します。

    注意

    注: マップに追加される値が非管理オブジェクトで、かつマップが管理されている場合、その非管理オブジェクトは Realm に追加されます。

    注意

    注: キーに割り当てられている値がnilの場合、そのキーはマップから削除されます。

    警告

    このメソッドは、書込みトランザクション中にのみ呼び出されます。

    宣言

    Swift

    public subscript(key: Key) -> Value? { get set }

    パラメーター

    key

    キー。

  • マップ内に存在する場合は、指定されたキーのAnyObjectのタイプを返します。

    宣言

    Swift

    @objc
    public func object(forKey key: AnyObject) -> AnyObject?

    パラメーター

    key

    値が必要なプロパティへのキー。

KVM

  • マップ内に存在する場合は、指定されたキーのValueのタイプを返します。

    キー値のコーディングを使用する場合、キーは string である必要があることに注意してください。

    宣言

    Swift

    @nonobjc
    public func value(forKey key: String) -> AnyObject?

    パラメーター

    key

    値が必要なプロパティへのキー。

  • マップ内に存在する場合は、指定されたキーのValueのタイプを返します。

    宣言

    Swift

    @nonobjc
    public func value(forKeyPath keyPath: String) -> AnyObject?

    パラメーター

    keyPath

    値が必要なプロパティへのキー。

  • 指定されたキーと値のペアをマップに追加するか、指定されたキーがすでに存在する場合は更新します。

    警告

    このメソッドは、書込みトランザクション中にのみ呼び出すことができます。

    宣言

    Swift

    public func setValue(_ value: Any?, forKey key: String)

    パラメーター

    value

    オブジェクト値。

    key

    各オブジェクトに値を設定するプロパティの名前。

フィルタリング

  • 指定された述語を持つマップ内のすべての一致する値を含むResultsを返します。

    注意

    これにより、キーと値のペアではなく、マップ内の値が返されます。

    宣言

    Swift

    public func filter(_ predicate: NSPredicate) -> Results<Value>

    パラメーター

    predicate

    値をフィルタリングする述語。

  • 指定されたクエリに一致するマップ内のすべての値を含むResultsを返します。

    注意

    これは、 @Persistableプロパティ宣言を使用するクラスでのみ使用する必要があります。

    • 使用法:

      myMap.where {
      ($0.fooCol > 5) && ($0.barCol == "foobar")
      }
      

    注意

    利用可能なクエリ操作の詳細については、 Queryを参照してください。

    宣言

    Swift

    public func `where`(_ isIncluded: ((Query<Value>) -> Query<Bool>)) -> Results<Value>

    パラメーター

    isIncluded

    オブジェクトをフィルタリングするクエリ閉じ。

  • マップにキーと値のペアが指定された述語を満たすかどうかを示すブール値を返します。

    宣言

    Swift

    public func contains(where predicate: @escaping (_ key: Key, _ value: Value) -> Bool) -> Bool

    パラメーター

    where

    指定されたマップのいずれかのキーペアが一致を表すかどうかをテストする包含。

ソート

  • マップ内のオブジェクトを含むResultsをソートされた状態で返します。

    オブジェクトは、 値に基づいてソートされます。 たとえば、 Dateのマップを最新から最も古い順に並べ替えるには、 dates.sorted(ascending: true)を呼び出します。

    宣言

    Swift

    public func sorted(ascending: Bool = true) -> Results<Value>

    パラメーター

    ascending

    並べ替える方向。

  • マップ内のオブジェクトを含むResultsをソートされた状態で返します。

    オブジェクトは、指定されたキー パスの値に基づいてソートされます。 たとえば、 Studentのマップをageプロパティに基づいて、小さいものから古い順に並べ替えるには、 students.sorted(byKeyPath: "age", ascending: true)を呼び出します。

    警告

    辞書は、ブール値、 DateNSDate 、単一および倍精度浮動小数点、整数、および string 型のプロパティでのみソートできます。

    宣言

    Swift

    public func sorted(byKeyPath keyPath: String, ascending: Bool = true) -> Results<Value>

    パラメーター

    keyPath

    ソートするキー パス。

    ascending

    並べ替える方向。

  • マップ内のオブジェクトを含むResultsをソートされた状態で返します。

    警告

    マップの は、ブール値、 DateNSDate 、単一および倍精度浮動小数点、整数、および string 型のプロパティでのみソートできます。

    詳細は、次を参照してください:

    sorted(byKeyPath:ascending:)

    宣言

    Swift

    public func sorted<S: Sequence>(by sortDescriptors: S) -> Results<Value>
        where S.Iterator.Element == SortDescriptor

集計操作

  • コレクション内のすべてのオブジェクト間で指定されたプロパティの最小(最小)値を返します。マップが空の場合はnilを返します。

    警告

    MinMaxTypeプロトコルに準拠するタイプのプロパティのみを指定できます。

    宣言

    Swift

    public func min<T>(ofProperty property: String) -> T? where T : _HasPersistedType, T.PersistedType : MinMaxType

    パラメーター

    property

    最小値が必要なプロパティの名前。

  • コレクション内のすべてのオブジェクト間で指定されたプロパティの最大値(最高値)を返します。マップが空の場合はnilを返します。

    警告

    MinMaxTypeプロトコルに準拠するタイプのプロパティのみを指定できます。

    宣言

    Swift

    public func max<T>(ofProperty property: String) -> T? where T : _HasPersistedType, T.PersistedType : MinMaxType

    パラメーター

    property

    最小値が必要なプロパティの名前。

  • コレクション内のオブジェクトの指定された プロパティの合計を返します。マップが空の場合はnilです。

    警告

    AddableTypeプロトコルに準拠した型のプロパティ名のみを使用できます。

    宣言

    Swift

    public func sum<T>(ofProperty property: String) -> T where T : _HasPersistedType, T.PersistedType : AddableType

    パラメーター

    property

    合計を計算するためのAddableTypeに準拠したプロパティの名前。

  • コレクション内のすべてのオブジェクトにわたる指定されたプロパティの平均値を返します。マップが空の場合はnilを返します。

    警告

    AddableTypeプロトコルに準拠するタイプのプロパティのみを指定できます。

    宣言

    Swift

    public func average<T>(ofProperty property: String) -> T? where T : _HasPersistedType, T.PersistedType : AddableType

    パラメーター

    property

    値を合計するプロパティの名前。

notifications

  • マップが変更されるたびに呼び出されるブロックを登録します。

    ブロックは最初のマップとは非同期に呼び出され、マップ内のキーまたは値のいずれかを変更する書き込みトランザクションごとに再度呼び出されます。

    ブロックに渡されるchangeパラメータは、各書き込みトランザクション中に追加、削除、または変更されたキーと値のペアを、マップ内のキーの形式で報告します。

    キューが指定されていない場合、通知は標準の実行ループを介して配信されるため、実行ループが他のアクティビティによってブロックされている間は通知を配信できません。 キューが指定されている場合、代わりにそのキューに通知が配信されます。 通知をすぐに配信できない場合は、複数の通知が 1 つの通知に統合されることがあります。 これには、初期コレクションの通知を含めることができます。

    たとえば、次のコードは通知ブロックを追加した後すぐに書込みトランザクションを実行するため、最初の通知が最初に配信される可能性はありません。 その結果、最初の通知には、書込みトランザクション後の Realm の状態が反映されます。

    let myStringMap = myObject.stringMap
    print("myStringMap.count: \(myStringMap?.count)") // => 0
    let token = myStringMap.observe { changes in
        switch changes {
        case .initial(let myStringMap):
            // Will print "myStringMap.count: 1"
            print("myStringMap.count: \(myStringMap.count)")
           print("Dog Name: \(myStringMap["nameOfDog"])") // => "Rex"
            break
        case .update:
            // Will not be hit in this example
            break
        case .error:
            break
        }
    }
    try! realm.write {
        myStringMap["nameOfDog"] = "Rex"
    }
    

    キー パスが指定されていない場合、ブロックは、すべてのオブジェクト プロパティとネストされたリンクされたオブジェクトのプロパティの挿入、変更、または削除時に実行されます。 キー パスが指定されている場合、指定されたキー パスでのみ発生する変更に対してブロックが呼び出されます。 たとえば、次の場合:

    class Dog: Object {
        @Persisted var name: String
        @Persisted var age: Int
        @Persisted var toys: List<Toy>
    }
    // ...
    let dogs = myObject.mapOfDogs
    let token = dogs.observe(keyPaths: ["name"]) { changes in
        switch changes {
        case .initial(let dogs):
           // ...
        case .update:
           // This case is hit:
           // - after the token is initialized
           // - when the name property of an object in the
           // collection is modified
           // - when an element is inserted or removed
           //   from the collection.
           // This block is not triggered:
           // - when a value other than name is modified on
           //   one of the elements.
        case .error:
            // ...
        }
    }
    
    • 確認されたキー パスが ["toys.brand"] の場合、コレクションの要素の いずれか にある toys リストへの挿入または削除によってブロックがtriggerされます。 このコレクション内の Dog にリンクされている Toybrand 値を変更すると、ブロックがtriggerされます。 このコレクション内の Dog にリンクされている Toybrand 以外の値を変更しても、ブロックはtriggerされません。 監視対象の Dog 型コレクションへの挿入または削除によって通知がtriggerされます。
    • 上記の例で ["toys"] キー パスが確認された場合、コレクション内の任意の要素の toys リストへの挿入、削除、または変更によってブロックがtriggerされます。 このコレクション内の にリンクされているToy Dogの値を変更しても、ブロックはtrigger され ません 。監視対象の Dog 型コレクションへの挿入または削除によって通知がtriggerされます。

    注意

    個別のキー パスでフィルタリングされる同じオブジェクト上の複数の通知トークンは、排他的にフィルタリングされません。 1 つの通知トークンに対して 1 つのキーパスの変更が満たされた場合、そのオブジェクトのすべての通知トークン ブロックが実行されます。

    アップデートをブロックに送信する場合は、返されたトークンを保持する必要があります。 更新の受信を停止するには、トークンでinvalidate()を呼び出します。

    警告

    このメソッドは、書込みトランザクション中、または Realm を含む が読み取り専用の場合に呼び出すことができません。

    注意

    keyPaths パラメーターはコレクション型のオブジェクト プロパティを参照し、マップ内の特定のキーと値のペアは参照しません

    宣言

    Swift

    public func observe(keyPaths: [String]? = nil,
                        on queue: DispatchQueue? = nil,
                        _ block: @escaping (RealmMapChange<Map>) -> Void)
    -> NotificationToken

    パラメーター

    keyPaths

    キーパス配列に含まれるプロパティのみが変更されたときにブロックをtriggerします。 nilの場合、オブジェクトのプロパティ変更に対して通知が配信されます。 有効な プロパティに対応していないstringキー パスでは例外がスローされます。 リンクされたプロパティの詳細については、上記の説明を参照してください。

    queue

    通知を受信するシリアル ディスパッチ キュー。 nilの場合、通知は現在のスレッドに配信されます。

    block

    変更が発生するたびに呼び出されるブロック。

    戻り値

    更新を配信する限り保持する必要があるトークン。

  • マップが変更されるたびに呼び出されるブロックを登録します。

    ブロックは最初のマップを持つアクターで非同期に呼び出され、マップに存在するキーまたは オブジェクトの値のいずれかを変更する書き込みトランザクションごとに再度呼び出されます。

    ブロックに渡されるchangeパラメータは、各書き込みトランザクション中に追加、削除、または変更されたキーと値のペアを、マップ内のキーの形式で報告します。

    通知は、指定されたアクターの実行プログラム上の、そのアクターに分離された関数に配信されます。 アクターがブロッキング作業を実行している場合、複数の通知が 1 つの通知に統合されることがあります。 これには初期コレクションの通知を含めることができ、変更は最初の通知が配信された後に発生した書き込みについてのみ報告されます。

    キー パスが指定されていない場合、ブロックは、すべてのオブジェクト プロパティとネストされたリンクされたオブジェクトのプロパティの挿入、変更、または削除時に実行されます。 キー パスが指定されている場合、指定されたキー パスでのみ発生する変更に対してブロックが呼び出されます。 たとえば、次の場合:

    class Dog: Object {
        @Persisted var name: String
        @Persisted var age: Int
        @Persisted var toys: List<Toy>
    }
    // ...
    let dogs = myObject.mapOfDogs
    let token = dogs.observe(keyPaths: ["name"], on: actor) { actor, changes in
        switch changes {
        case .initial(let dogs):
            // ...
        case .update:
            // This case is hit:
            // - after the token is initialized
            // - when the name property of an object in the collection is modified
            // - when an element is inserted or removed from the collection.
            // This block is not triggered:
            // - when a value other than name is modified on one of the elements.
        case .error:
            // No longer possible and left for backwards compatibility
        }
    }
    
    • 確認されたキー パスが ["toys.brand"] の場合、コレクションの要素の いずれか にある toys リストへの挿入または削除によってブロックがtriggerされます。 このコレクション内の Dog にリンクされている Toybrand 値を変更すると、ブロックがtriggerされます。 このコレクション内の Dog にリンクされている Toybrand 以外の値を変更しても、ブロックはtriggerされません。 監視対象の Dog 型コレクションへの挿入または削除によって通知がtriggerされます。
    • 上記の例で ["toys"] キー パスが確認された場合、コレクション内の任意の要素の toys リストへの挿入、削除、または変更によってブロックがtriggerされます。 このコレクション内の にリンクされているToy Dogの値を変更しても、ブロックはtrigger され ません 。監視対象の Dog 型コレクションへの挿入または削除によって通知がtriggerされます。

    アップデートをブロックに送信する場合は、返されたトークンを保持する必要があります。 更新の受信を停止するには、トークンでinvalidate()を呼び出します。

    警告

    このメソッドは、書込みトランザクション中、または Realm を含む が読み取り専用の場合に呼び出すことができません。

    注意

    keyPaths パラメーターはコレクション型のオブジェクト プロパティを参照し、マップ内の特定のキーと値のペアは参照しません

    宣言

    Swift

    @available(macOS 10.15, tvOS 13.0, iOS 13.0, watchOS 6.0, *)
    @_unsafeInheritExecutor
    public func observe<A: Actor>(
        keyPaths: [String]? = nil, on actor: A,
        _ block: @Sendable @escaping (isolated A, RealmMapChange<Map>) -> Void
    ) async -> NotificationToken

    パラメーター

    keyPaths

    キーパス配列に含まれるプロパティのみが変更されたときにブロックをtriggerします。 nilの場合、オブジェクトのプロパティ変更に対して通知が配信されます。 有効な プロパティに対応していないstringキー パスでは例外がスローされます。 リンクされたプロパティの詳細については、上記の説明を参照してください。

    actor

    通知を配信するアクター。 The block is passed this actor as an isolated parameter, allowing you to access the actor synchronously from within the callback.

    block

    変更が発生するたびに呼び出されるブロック。

    戻り値

    更新を配信する限り保持する必要があるトークン。

  • マップが変更されるたびに呼び出されるブロックを登録します。

    ブロックは最初のマップを持つアクターで非同期に呼び出され、マップに存在するキーまたは オブジェクトの値のいずれかを変更する書き込みトランザクションごとに再度呼び出されます。

    ブロックに渡されるchangeパラメータは、各書き込みトランザクション中に追加、削除、または変更されたキーと値のペアを、マップ内のキーの形式で報告します。

    通知は、指定されたアクターの実行プログラム上の、そのアクターに分離された関数に配信されます。 アクターがブロッキング作業を実行している場合、複数の通知が 1 つの通知に統合されることがあります。 これには初期コレクションの通知を含めることができ、変更は最初の通知が配信された後に発生した書き込みについてのみ報告されます。

    ブロックは、指定されたキー パスでのみ発生する変更に対して呼び出されます。 たとえば、次の場合:

    class Dog: Object {
        @Persisted var name: String
        @Persisted var age: Int
        @Persisted var toys: List<Toy>
    }
    // ...
    let dogs = myObject.mapOfDogs
    let token = dogs.observe(keyPaths: [\.name], on: actor) { actor, changes in
        switch changes {
        case .initial(let dogs):
            // ...
        case .update:
            // This case is hit:
            // - after the token is initialized
            // - when the name property of an object in the collection is modified
            // - when an element is inserted or removed from the collection.
            // This block is not triggered:
            // - when a value other than name is modified on one of the elements.
        case .error:
            // No longer possible and left for backwards compatibility
        }
    }
    
    • 確認されたキー パスが [\.toys.brand] の場合、コレクションの要素の いずれか にある toys リストへの挿入または削除によってブロックがtriggerされます。 このコレクション内の Dog にリンクされている Toybrand 値を変更すると、ブロックがtriggerされます。 このコレクション内の Dog にリンクされている Toybrand 以外の値を変更しても、ブロックはtriggerされません。 監視対象の Dog 型コレクションへの挿入または削除によって通知がtriggerされます。
    • 上記の例で [\.toys] キー パスが確認された場合、コレクション内の任意の要素の toys リストへの挿入、削除、または変更によってブロックがtriggerされます。 このコレクション内の にリンクされているToy Dogの値を変更しても、ブロックはtrigger され ません 。監視対象の Dog 型コレクションへの挿入または削除によって通知がtriggerされます。

    アップデートをブロックに送信する場合は、返されたトークンを保持する必要があります。 更新の受信を停止するには、トークンでinvalidate()を呼び出します。

    警告

    このメソッドは、書込みトランザクション中、または Realm を含む が読み取り専用の場合に呼び出すことができません。

    注意

    keyPaths パラメーターはコレクション型のオブジェクト プロパティを参照し、マップ内の特定のキーと値のペアは参照しません

    宣言

    Swift

    @available(macOS 10.15, tvOS 13.0, iOS 13.0, watchOS 6.0, *)
    @_unsafeInheritExecutor
    public func observe<A: Actor>(
        keyPaths: [PartialKeyPath<Value.Wrapped>], on actor: A,
        _ block: @Sendable @escaping (isolated A, RealmMapChange<Map>) -> Void
    ) async -> NotificationToken where Value: OptionalProtocol, Value.Wrapped: ObjectBase

    パラメーター

    keyPaths

    キーパス配列に含まれるプロパティのみが変更されたときにブロックをtriggerします。 nilの場合、オブジェクトのプロパティ変更に対して通知が配信されます。 有効な プロパティに対応していないstringキー パスでは例外がスローされます。 リンクされたプロパティの詳細については、上記の説明を参照してください。

    actor

    通知を配信するアクター。 The block is passed this actor as an isolated parameter, allowing you to access the actor synchronously from within the callback.

    block

    変更が発生するたびに呼び出されるブロック。

    戻り値

    更新を配信する限り保持する必要があるトークン。

凍結されたオブジェクト

  • Mapが固定されているかどうかを示します。

    凍結されたMapは不変であり、どのスレッドからでもアクセスできます。 凍結されたMapは、管理対象のライブMap-freezeを呼び出すことで作成されます。 管理されていないMapは固定されません。

    宣言

    Swift

    public var isFrozen: Bool { get }
  • Mapの固定(不変)スナップショットを返します。

    固定されたコピーは、このMapに現在含まれているデータと同じデータを含む不変のMapであり、含まれている Realm に書込み (write) が行われた場合は更新されません。 ライブMapとは異なり、固定されたMapにはどのスレッドからでもアクセスできます。

    警告

    このメソッドは、書込みトランザクション中、または Realm を含む が読み取り専用の場合に呼び出すことができません。

    警告

    このメソッドは、管理対象のMapでのみ呼び出せます。

    警告

    Realm で書き込みトランザクションを実行中に固定されたMapを長時間保持すると、Realm ファイルのサイズが大きくなる可能性があります。 詳しくは、 RLMRealmConfiguration.maximumNumberOfActiveVersionsを参照してください。

    宣言

    Swift

    public func freeze() -> Map
  • この固定されたMapのライブ バージョンを返します。

    このメソッドは、同じ固定されたMapのライブ コピーへの参照を解決します。 ライブMapで呼び出されると、 は自分自身を返します。

    宣言

    Swift

    public func thaw() -> Map?
  • マップに含まれるオブジェクトの人間が判読可能な説明を返します。

    宣言

    Swift

    public override var description: String { get }

Map

  • コレクションが変更されるたびに Vid を発行する出版社。

    名前に関係なく、コレクションが変更されたにこれが実際に発行します。

    宣言

    Swift

    public var objectWillChange: RealmPublishers.WillChange<Map> { get }

シーケンス サポート

Key : DecodableValue : Decodableで利用可能

Key : EncodableValue : Encodableで利用可能