ObservedResults

@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
@propertyWrapper
@MainActor
public struct ObservedResults<ResultType> : DynamicProperty, BoundCollection where ResultType : KeypathSortable, ResultType : RealmFetchable, ResultType : _ObservedResultsValue, ResultType : Identifiable

Realm に対するクエリの結果を表すプロパティ ラッパー タイプ。

結果では、環境値realmConfigurationによって提供される Realm 構成が使用されます。

SwiftUI 以外の結果コレクションとは異なり、OservedResults は可変です。 ObservedResults コレクションへの書込み(write)は、暗黙的に書込みトランザクションを実行します。 関連付けられたクエリがフィルタリングして除外するオブジェクトを ObservedResults に追加すると、オブジェクトは Realm に追加されますが、OservedResults には含まれません。

SwiftUI で@ObservedResults var vの場合、 $vBoundCollectionを参照します。

  • 宣言

    Swift

    public typealias Element = ResultType
  • 結果をフィルタリングするために使用される NPredate を保存します。 これは、 whereパラメータと相互に排他的です。

    宣言

    Swift

    @State
    @MainActor
    public var filter: NSPredicate? { get nonmutating set }
  • 結果をフィルタリングするために使用される型セーフなクエリを保存します。 これは、 filterパラメータと相互に排他的です。

    宣言

    Swift

    @State
    @MainActor
    public var `where`: ((Query<ResultType>) -> Query<Bool>)? { get nonmutating set }
  • 指定されたProjectionタイプのObservedResults構造体を初期化します。

    宣言

    Swift

    @MainActor
    public init<ObjectType: ObjectBase>(_ type: ResultType.Type,
                                        configuration: Realm.Configuration? = nil,
                                        filter: NSPredicate? = nil,
                                        keyPaths: [String]? = nil,
                                        sortDescriptor: SortDescriptor? = nil) where ResultType: Projection<ObjectType>, ObjectType: ThreadConfined

    パラメーター

    type

    監視対象型

    configuration

    Realm の作成時に使用されるRealm.Configurationでは、構成が空の場合、特定のパーティション値のユーザーの同期構成がsyncConfigurationとして設定されますdefaultConfiguration

    filter

    観察は、オブジェクトを渡すことに対してのみ行われます。 フィルターが指定されていない場合、すべてのオブジェクトが監視されます

    keyPaths

    キー パス配列に含まれるプロパティのみが監視されます。 nilの場合、オブジェクトのプロパティ変更に対して通知が配信されます。 有効な プロパティに対応していないstringキー パスでは例外がスローされます。

    sortDescriptor

    並べ替えるSortDescriptorのシーケンス

  • 指定されたObjectまたはEmbeddedObjectタイプのObservedResults構造体を初期化します。

    宣言

    Swift

    @MainActor
    public init(_ type: ResultType.Type,
                configuration: Realm.Configuration? = nil,
                filter: NSPredicate? = nil,
                keyPaths: [String]? = nil,
                sortDescriptor: SortDescriptor? = nil) where ResultType: Object

    パラメーター

    type

    監視対象型

    configuration

    Realm の作成時に使用されるRealm.Configurationでは、構成が空の場合、特定のパーティション値のユーザーの同期構成がsyncConfigurationとして設定されますdefaultConfiguration

    filter

    観察は、オブジェクトを渡すことに対してのみ行われます。 フィルターが指定されていない場合、すべてのオブジェクトが監視されます

    keyPaths

    キー パス配列に含まれるプロパティのみが監視されます。 nilの場合、オブジェクトのプロパティ変更に対して通知が配信されます。 有効な プロパティに対応していないstringキー パスでは例外がスローされます。

    sortDescriptor

    並べ替えるSortDescriptorのシーケンス

  • 指定されたObjectまたはEmbeddedObjectタイプのObservedResults構造体を初期化します。

    宣言

    Swift

    @MainActor
    public init(_ type: ResultType.Type,
                configuration: Realm.Configuration? = nil,
                where: ((Query<ResultType>) -> Query<Bool>)? = nil,
                keyPaths: [String]? = nil,
                sortDescriptor: SortDescriptor? = nil) where ResultType: Object

    パラメーター

    type

    監視対象型

    configuration

    Realm の作成時に使用されるRealm.Configurationでは、構成が空の場合、特定のパーティション値のユーザーの同期構成がsyncConfigurationとして設定されますdefaultConfiguration

    where

    Observations will be made only for passing objects. 型安全性のクエリが指定されていない場合、すべてのオブジェクトが監視されます

    keyPaths

    キー パス配列に含まれるプロパティのみが監視されます。 nilの場合、オブジェクトのプロパティ変更に対して通知が配信されます。 有効な プロパティに対応していないstringキー パスでは例外がスローされます。

    sortDescriptor

    並べ替えるSortDescriptorのシーケンス

  • 宣言

    Swift

    nonisolated public func update()