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
Um tipo de wrapper de propriedade que representa os resultados de uma query em um Realm.
Os resultados utilizam a configuração de Realm fornecida pelo valor de ambiente realmConfiguration
.
Ao contrário da collection de resultados que não são do SwiftUI, o ObservedResults é mutável. As gravações em uma collection ObservedResults executam implicitamente uma transação de escrita. Se você adicionar um objeto ao ObservedResults que a query associada filtraria, o objeto será adicionado ao Realm, mas não incluído nos ObservedResults.
Dado @ObservedResults var v
na SwiftUI, $v
refere-se a um BoundCollection
.
-
Declaração
Swift
public typealias Element = ResultType
-
Armazena um NSPredicate usado para filtrar os resultados. Isto é mutuamente exclusivo para o parâmetro
where
.Declaração
Swift
@State @MainActor public var filter: NSPredicate? { get nonmutating set }
-
Armazena uma query de tipo seguro usada para filtrar os resultados. Isto é mutuamente exclusivo para o parâmetro
filter
.Declaração
-
Inicialize uma estrutura
ObservedResults
para um determinado tipoProjection
.Declaração
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
Parâmetros
type
Tipo observado
configuration
O
Realm.Configuration
usado ao criar o Realm, a configuração de sincronização do usuário para o valor de partição fornecido será definida comosyncConfiguration
; se estiver vazia, a configuração será definida comodefaultConfiguration
filter
As observações serão feitas apenas para passar objetos. Se nenhum filtro for fornecido - todos os objetos serão observados
keyPaths
Somente propriedades contidas na array de caminhos principais serão observadas. Se
nil
, notificações serão entregues para qualquer alteração de propriedade no objeto. Os caminhos da chave de string que não correspondem a uma propriedade válida lançarão uma exceção.sortDescriptor
Uma sequência de
SortDescriptor
s para classificar por -
Inicialize uma estrutura
ObservedResults
para um determinado tipoObject
ouEmbeddedObject
.Declaração
Swift
@MainActor public init(_ type: ResultType.Type, configuration: Realm.Configuration? = nil, filter: NSPredicate? = nil, keyPaths: [String]? = nil, sortDescriptor: SortDescriptor? = nil) where ResultType: Object
Parâmetros
type
Tipo observado
configuration
O
Realm.Configuration
usado ao criar o Realm, a configuração de sincronização do usuário para o valor de partição fornecido será definida comosyncConfiguration
; se estiver vazia, a configuração será definida comodefaultConfiguration
filter
As observações serão feitas apenas para passar objetos. Se nenhum filtro for fornecido - todos os objetos serão observados
keyPaths
Somente propriedades contidas na array de caminhos principais serão observadas. Se
nil
, notificações serão entregues para qualquer alteração de propriedade no objeto. Os caminhos da chave de string que não correspondem a uma propriedade válida lançarão uma exceção.sortDescriptor
Uma sequência de
SortDescriptor
s para classificar por -
Inicialize uma estrutura
ObservedResults
para um determinado tipoObject
ouEmbeddedObject
.Declaração
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
Parâmetros
type
Tipo observado
configuration
O
Realm.Configuration
usado ao criar o Realm, a configuração de sincronização do usuário para o valor de partição fornecido será definida comosyncConfiguration
; se estiver vazia, a configuração será definida comodefaultConfiguration
where
As observações serão feitas apenas para passar objetos. Se nenhuma query segura de tipo for fornecida - todos os objetos serão observados
keyPaths
Somente propriedades contidas na array de caminhos principais serão observadas. Se
nil
, notificações serão entregues para qualquer alteração de propriedade no objeto. Os caminhos da chave de string que não correspondem a uma propriedade válida lançarão uma exceção.sortDescriptor
Uma sequência de
SortDescriptor
s para classificar por -
Declaração
Swift
nonisolated public func update()