Protocolos
Os seguintes protocolos estão disponíveis globalmente.
-
Um protocolo que define o suporte do iterador para RLMArray, RLMSet e RLMResults.
Veja maisDeclaração
Swift
public protocol _RLMCollectionIterator
-
Um protocolo que define o suporte ao iterador para RLMDictionary
Declaração
Swift
public protocol _RLMDictionaryIterator
-
Protocolo representando um valor BSON.
Veja também
bsonspec.orgDeclaração
Swift
public protocol BSON : Equatable
-
Um protocolo que define uma identidade padrão para Objeto de Realm
Declarar sua subclasse de objeto em conformidade com esse protocolo fornecerá uma implementação padrão para a
Identifiable
id
, que funciona para Objeto de Realm:// Automatically conforms to `Identifiable` class MyObjectType: Object, ObjectKeyIdentifiable { // ... }
Você também pode estar em conformidade com
Veja maisIdentifiable
manualmente se desejar, mas observe que o uso do endereço de memória do objeto não funciona para objeto managed.Declaração
Swift
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) public protocol ObjectKeyIdentifiable : ObjectBase, Identifiable
-
Um tipo que pode ser passado para
valuePublisher()
ouchangesetPublisher()
.Declaração
Swift
@available(macOS 10.15, watchOS 6.0, iOS 13.0, iOSApplicationExtension 13.0, macOSApplicationExtension 10.15, tvOS 13.0, *) public protocol RealmSubscribable
-
Uma coleção uniforme de valores-chave de
Veja maisObject
s que pode ser recuperada, filtrada, classificada e operada.Declaração
Swift
public protocol RealmKeyedCollection : ThreadConfined, CustomStringConvertible, Sequence
-
delegado que é usado para assinar alterações em um fluxo
Veja maisMongoCollection.watch()
.Declaração
Swift
public protocol ChangeEventDelegate : AnyObject
-
Um tipo de enumeração que pode ser armazenado em um Objeto de Realm.
Somente enumerações
@objc
apoiados por um Int podem ser armazenados em um Objeto de Realm, e o tipo de enumeração deve estar explicitamente em conformidade com esse protocolo. Por exemplo:@objc enum MyEnum: Int, RealmEnum { case first = 1 case second = 2 case third = 7 } class MyModel: Object { @objc dynamic enumProperty = MyEnum.first let optionalEnumProperty = RealmOptional<MyEnum>() }
Declaração
Swift
public protocol RealmEnum : RealmOptionalType, _RealmSchemaDiscoverable
-
Um protocolo que descreve os tipos que podem parametrizar um
RealmOptional
.Declaração
Swift
public protocol RealmOptionalType
-
Um tipo que pode ser armazenado em uma Lista de Realm , MutableSet ou Results.
Declarar tipos adicionais como em conformidade com este protocolo não os fará realmente funcionar. A maior parte da lógica de como armazenar valores no Realm não está implementada no Swift e, atualmente, não há mecanismo de extensão para oferecer suporte a mais tipos.
Declaração
Swift
public protocol RealmCollectionValue : _RealmSchemaDiscoverable, Hashable
-
Um protocolo que descreve os tipos que podem parametrizar um
RealmPropertyType
.Declaração
Swift
public protocol RealmPropertyType
-
Tipos de propriedade que podem ser usadas com as API de valor mínimo e máximo.
Veja
min(ofProperty:)
,max(ofProperty:)
Declaração
Swift
public protocol MinMaxType
-
Tipos de propriedade que podem ser usadas com as API de soma e valor médio.
Veja
sum(ofProperty:)
,average(ofProperty:)
Declaração
Swift
public protocol AddableType
-
objeto de tipos que estão em conformidade com
ThreadConfined
podem ser managed por um Realm, o que os tornará vinculados a uma instânciaRealm
específica do thread. Os managed objeto devem ser explicitamente exportados e importados para serem passados entre threads.Managed objeto em conformidade com este protocolo podem ser convertidas em uma referência segura de thread para transporte entre threads passando para o construtor
ThreadSafeReference(to:)
.Observe que somente os tipos definidos pelo Realm podem estar em conformidade com este protocolo, e definir novas classes que tentam estar em conformidade com ele não as fará funcionar com
Veja maisThreadSafeReference
.Declaração
Swift
public protocol ThreadConfined