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
の場合、 $v
はBoundCollection
を参照します。
-
宣言
Swift
public typealias Element = ResultType
-
結果をフィルタリングするために使用される NPredate を保存します。 これは、
where
パラメータと相互に排他的です。宣言
Swift
@State @MainActor public var filter: NSPredicate? { get nonmutating set }
-
結果をフィルタリングするために使用される型セーフなクエリを保存します。 これは、
filter
パラメータと相互に排他的です。宣言
-
指定された
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()