Aulas
As seguintes classes estão disponíveis globalmente.
-
Cliente do provedor para chaves de API do usuário.
Veja maisDeclaração
Objective-C
@interface RLMAPIKeyAuth : RLMProviderClient
Swift
@_nonSendable(_assumed) class RLMAPIKeyAuth : RLMProviderClient, @unchecked Sendable
-
Propriedades que representam a configuração de um cliente que se comunicam com um aplicativo Realm específico.
Veja maisRLMAppConfiguration
as opções não podem ser modificadas depois que oRLMApp
que as utiliza for criado. Os valores de configuração da aplicação são armazenados em cache quando a aplicação é criada, portanto, quaisquer modificações posteriores não terão efeito.Declaração
Objective-C
@interface RLMAppConfiguration : NSObject <NSCopying>
Swift
@_nonSendable(_assumed) class RLMAppConfiguration : NSObject, NSCopying
-
O
RLMApp
tem o conjunto fundamental de métodos para se comunicar com um backend de aplicativo Realm.Essa interface fornece acesso ao login e autenticação.
Veja maisDeclaração
Objective-C
@interface RLMApp : NSObject
Swift
@_nonSendable(_assumed) class RLMApp : NSObject, @unchecked Sendable
-
RLMArray
é o tipo de container no Realm usado para definir relacionamento para muitos.Ao contrário de um
NSArray
, osRLMArray
s contêm um único tipo, especificado pela propriedadeobjectClassName
. Isso é chamado nesses Docs de "tipo" da array.Ao declarar uma propriedade
RLMArray
, o tipo deve ser marcado como em conformidade com um protocolo com o mesmo nome dos objetos que ele deve conter (consulte a macroRLM_COLLECTION_TYPE
). Além disso, a propriedade pode ser declarada usando genéricos Objective-C para melhor segurança do tipo em tempo de compilação.RLM_COLLECTION_TYPE(ObjectType) ... @property RLMArray<ObjectType *><ObjectType> *arrayOfObjectTypes;
RLMArray
s podem ser consultados com os mesmos predicados queRLMObject
eRLMResult
s.RLMArray
Os s não podem ser criados diretamente. As propriedades deRLMArray
emRLMObject
s são criadas preguiçosamente quando acessadas ou podem ser obtidas consultando um Realm.Observação de valor-chave
RLMArray
suporta a observação de valores-chave de arrayRLMArray
em propriedade emRLMObject
subclasses e ainvalidated
propriedade emRLMArray
si é compatível com a observação de valores-chave quandoRLMArray
está anexado a um managedRLMObject
(RLMArray
s emRLMObject
s não managed nunca serão invalidados).Como
Veja maisRLMArray
s estão anexados ao objeto do qual são uma propriedade, eles não exigem o uso dos objeto proxy da collection mutáveis de-mutableArrayValueForKey:
ou de métodos de mutação compatíveis com KVC no objeto que os contém. Em vez disso, você pode chamar os métodos de mutação noRLMArray
diretamente.Declaração
Objective-C
@interface RLMArray<RLMObjectType> : NSObject <RLMCollection>
Swift
@_nonSendable(_assumed) class RLMArray<RLMObjectType> : NSObject, RLMCollection where RLMObjectType : AnyObject
-
RLMAsymmetricObject
é uma classe base usada para definir objetos de Realm assimétricos.Objeto assimétricos só podem ser criados usando a função
createInRealm:
e não podem ser adicionados, removidos ou query. Quando criados, objeto assimétricos serão sincronizados unidirecionalmente com o reconhecimento de data center MongoDB e não podem ser acessados localmente.Vincular um objeto assimétrico dentro de um
Object
não é permitido e gerará um erro.Os tipos de propriedades suportados em
Veja maisRLMAsymmetricObject
são os mesmos deRLMObject
, exceto pelo fato de que objetos assimétricos só podem ser vinculados a objetos incorporados, portanto, as propriedadesRLMObject
eRLMArray<RLMObject>
não são suportadas (RLMEmbeddedObject
eRLMArray<RLEmbeddedObject>
são).Declaração
Objective-C
@interface RLMAsymmetricObject : RLMObjectBase
Swift
@_nonSendable(_assumed) class RLMAsymmetricObject : RLMObjectBase
-
Um objeto de tarefa que pode ser usado para observar ou cancelar uma abertura assíncrona.
Quando um Realm sincronizado é aberto de forma assíncrona, o estado mais recente do Realm é baixado do servidor antes que a chamada de resposta de conclusão seja invocada. Este objeto de tarefa pode ser usado para observar o estado do download ou cancelá-lo. Isso deve ser usado em vez de tentar observar o download por meio da sessão de sincronização, pois a sessão de sincronização em si é criada de forma assíncrona e pode ainda não existir quando -[RLLMRealm asyncOpenWithConfiguration:completion:] retornar.
Veja maisDeclaração
Objective-C
@interface RLMAsyncOpenTask : NSObject
Swift
@_nonSendable(_assumed) class RLMAsyncOpenTask : NSObject, @unchecked Sendable
-
A MaxKey sempre terá o maior valor ao comparar com outros BSON types
Declaração
Objective-C
@interface RLMMaxKey : NSObject
Swift
class RLMMaxKey : NSObject, @unchecked Sendable
-
O MinKey sempre será o menor valor ao comparar com outros BSON types
Declaração
Objective-C
@interface RLMMinKey : NSObject
Swift
class RLMMinKey : NSObject, @unchecked Sendable
-
Um
RLMSortDescriptor
armazena um nome de propriedade e uma ordem de classificação para utilizar comsortedResultsUsingDescriptors:
. É semelhante aoNSSortDescriptor
, mas suporta apenas o subconjunto de funcionalidades que podem ser executados com eficiência pelo mecanismo de query do Realm.
Veja maisRLMSortDescriptor
as instâncias são imutáveis.Declaração
Objective-C
@interface RLMSortDescriptor : NSObject
Swift
@_nonSendable(_assumed) class RLMSortDescriptor : NSObject, @unchecked Sendable
-
Um objeto
RLMCollectionChange
encapsula informações sobre alterações em coleções que são relatadas por notificações do Realm .RLMCollectionChange
é passado para os blocos de notificação registrados com-addNotificationBlock
emRLMArray
eRLMResults
e relata quais linhas na coleção foram alteradas desde a última vez que o bloco de notificação foi chamado.As informações de alteração estão disponíveis em dois formatos: uma array simples de índices de linha na coleção para cada tipo de alteração e uma array de caminhos de índice em uma seção solicitada adequada para passar diretamente para os métodos de atualização em lote do
UITableView
. Um exemplo completo de atualização de umUITableView
denominadotv
:[tv beginUpdates]; [tv deleteRowsAtIndexPaths:[changes deletionsInSection:0] withRowAnimation:UITableViewRowAnimationAutomatic]; [tv insertRowsAtIndexPaths:[changes insertionsInSection:0] withRowAnimation:UITableViewRowAnimationAutomatic]; [tv reloadRowsAtIndexPaths:[changes modificationsInSection:0] withRowAnimation:UITableViewRowAnimationAutomatic]; [tv endUpdates];
Todas as arrays em um
Veja maisRLMCollectionChange
são sempre classificadas em ordem crescente.Declaração
Objective-C
@interface RLMCollectionChange : NSObject
Swift
@_nonSendable(_assumed) class RLMCollectionChange : NSObject
-
Credenciais opalas que representam um usuário específico do aplicativo Realm.
Veja maisDeclaração
Objective-C
@interface RLMCredentials : NSObject
Swift
@_nonSendable(_assumed) class RLMCredentials : NSObject, @unchecked Sendable
-
Um número de ponto flutuante decimal IEEE 754-2008 de 128 bits.
Esse tipo é semelhante ao tipo Decimal integrado do Swift, mas aloca bits de forma diferente, resultando em uma faixa representável diferente. (NS)Decimal armazena um significando de até 38 dígitos e um expoente de -128 a 127, enquanto esse tipo armazena até 34 dígitos de significando e um expoente de -6143 a 6144.
Veja maisDeclaração
Objective-C
@interface RLMDecimal128 : NSObject <NSCopying>
Swift
@_nonSendable(_assumed) class RLMDecimal128 : NSObject, NSCopying, @unchecked Sendable
-
RLMDictionary
é um tipo de contêiner no Realm que representa uma coleção dinâmica de pares de valores-chave.Ao contrário de
NSDictionary
,RLMDictionary
s contêm um único tipo de chave e valor. Isso é chamado nestes Docs como o "type" e "keyType" do dicionário.Ao declarar uma propriedade
RLMDictionary
, o tipo de objeto e keyType devem ser marcados como em conformidade com um protocolo com o mesmo nome dos objetos que ele deve conter.RLM_COLLECTION_TYPE(ObjectType) ... @property RLMDictionary<NSString *, ObjectType *><RLMString, ObjectType> *objectTypeDictionary;
RLMDictionary
s podem ser consultados com os mesmos predicados queRLMObject
eRLMResult
s.RLMDictionary
Os s não podem ser criados diretamente. As propriedades deRLMDictionary
emRLMObject
s são criadas preguiçosamente quando acessadas ou podem ser obtidas consultando um Realm.RLMDictionary
suporta apenasNSString
como uma chave. O Realm não permite o uso de.
ou$
caracteres em uma chave de dicionário.Observação de valor-chave
Veja maisRLMDictionary
suporta a observação de valor-chave de dicionário em propriedadesRLMDictionary
em subclassesRLMObject
e a propriedadeRLMDictionary
invalidated
em si mesmas instâncias é compatível com a observação de valor-chave quandoRLMDictionary
está anexado a umRLMObject
gerenciado (RLMDictionary
s emRLMObject
s não gerenciados nunca serão invalidados).Declaração
Objective-C
@interface RLMDictionary<RLMKeyType, RLMObjectType> : NSObject <RLMCollection>
Swift
@_nonSendable(_assumed) class RLMDictionary<RLMKeyType, RLMObjectType> : NSObject, RLMCollection where RLMKeyType : AnyObject, RLMObjectType : AnyObject
-
Um objeto
RLMDictionaryChange
encapsula informações sobre alterações nos dicionários que são relatadas pelas notificações do Realm.
Veja maisRLMDictionaryChange
é passado para os blocos de notificação registrados com-addNotificationBlock
emRLMDictionary
e relata quais chaves no dicionário foram alteradas desde a última vez que o bloco de notificação foi chamado.Declaração
Objective-C
@interface RLMDictionaryChange : NSObject
Swift
@_nonSendable(_assumed) class RLMDictionaryChange : NSObject
-
Um cliente para o provedor de autenticação por e-mail/senha que pode ser usado para obter uma credencial para fazer login e executar solicitações especificamente relacionadas ao provedor de e-mail/senha.
Veja maisDeclaração
Objective-C
@interface RLMEmailPasswordAuth : RLMProviderClient
Swift
@_nonSendable(_assumed) class RLMEmailPasswordAuth : RLMProviderClient, @unchecked Sendable
-
RLMEmbeddedObject
é uma classe base usada para definir objetos de modelo de Realm.Objetos incorporados funcionam da mesma forma que objetos normais, mas são de propriedade de um único objeto pai (que por sua vez pode estar incorporado). Ao contrário dos objetos normais de nível superior, os objetos incorporados não podem ser criados ou adicionados diretamente a um Realm. Em vez disso, eles só podem ser criados como parte de um objeto pai ou atribuindo um objeto não gerenciado à propriedade de um objeto pai. Objetos incorporados são excluídos automaticamente quando o objeto pai é excluído ou quando o pai é modificado para não apontar mais para o objeto incorporado, reatribuindo uma propriedade RLMObject ou removendo o objeto incorporado da matriz que o contém.
Objeto incorporado só podem ter um único objeto vinculado a eles, e a tentativa de vinculação a um managed objeto incorporado existente lançará uma exceção.
Os tipos de propriedades suportados no
RLMEmbeddedObject
são os mesmos doRLMObject
, exceto pelo fato de que os objetos incorporados não podem ser vinculados a objetos de nível superior, portanto, as propriedadesRLMObject
eRLMArray<RLMObject>
não são suportadas (RLMEmbeddedObject
eRLMArray<RLMEmbeddedObject>
são).Objeto incorporado não pode ter chave primária ou propriedade indexada.
Veja maisDeclaração
Objective-C
@interface RLMEmbeddedObject : RLMObjectBase <RLMThreadConfined>
Swift
@_nonSendable(_assumed) class RLMEmbeddedObject : RLMObjectBase, RLMThreadConfined
-
Informações estendidas sobre uma gravação que foi rejeitada pelo servidor.
Às vezes, o servidor rejeitará gravações feitas pelo cliente por motivos como permissões, falha de validação adicional do lado do servidor ou porque o objeto não correspondeu a nenhuma assinatura de Flexible Sync. Quando isso acontece, é relatado um erro
RLMSyncErrorWriteRejected
que contém uma array de objetosRLMCompensatingWriteInfo
na chave userInfoRLMCompensatingWriteInfoKey
com informações sobre quais gravações foram rejeitadas e por que.Estas informações destinam-se apenas a fins de depuração e registro. As strings
Veja maisreason
são geradas pelo servidor e não têm garantia de serem estáveis, portanto, tentar fazer qualquer coisa com elas programaticamente será interrompida sem aviso.Declaração
Objective-C
@interface RLMCompensatingWriteInfo : NSObject
Swift
class RLMCompensatingWriteInfo : NSObject, @unchecked Sendable
-
Opções a serem usadas ao executar um comando
Veja maisfindOneAndUpdate
,findOneAndReplace
oufindOneAndDelete
em umRLMMongoCollection
.Declaração
Objective-C
@interface RLMFindOneAndModifyOptions : NSObject
Swift
@_nonSendable(_assumed) class RLMFindOneAndModifyOptions : NSObject
-
Opções para utilizar ao executar um comando
Veja maisfind
em umRLMMongoCollection
.Declaração
Objective-C
@interface RLMFindOptions : NSObject
Swift
@_nonSendable(_assumed) class RLMFindOptions : NSObject
-
Uma classe que representa as coordenadas de um ponto formado por um valor de latitude e um valor de longitude.
- A latitude varia entre -90 e 90 graus, inclusive.
- A longitude varia entre -180 e 180 graus, inclusive.
- A altura não pode ter valores negativos.
Valores fora desses intervalos retornarão nulo ao tentar criar um
RLMGeospatialPoint
.Observação
Não existe um tipo dedicado para armazenar pontos geoespaciais; em vez disso, os pontos devem ser armazenados como objeto incorporado em forma de GeoJson , conforme explicado abaixo. Query geoespaciais (geoWithin
) só podem ser executadas nesse tipo de objeto e serão lançadas de outra forma.Atualmente, a persistência de ponto geográficos no Realm é feita usando a digitação de Duck, o que significa que qualquer classe de modelo com uma forma específica pode ser query como se contivesse uma localização geográfica. A abordagem recomendada é usar um objeto incorporado.
Aviso
Esta estrutura não pode ser persistente e só pode ser utilizada para construir outras formas geoespaciais como (
RLMGeospatialBox
,RLMGeospatialPolygon
eRLMGeospatialCircle
).Aviso
A altura não é utilizada em nenhum dos cálculos da query.
Declaração
Objective-C
@interface RLMGeospatialPoint : NSObject
Swift
class RLMGeospatialPoint : NSObject, @unchecked Sendable
-
Uma classe que representa um retângulo, que pode ser utilizada em uma query geoespacial
geoWithin
.Aviso
Esta classe não pode ser persistente e só pode ser utilizada dentro de uma query geoespacialgeoWithin
.Declaração
Objective-C
@interface RLMGeospatialBox : NSObject <RLMGeospatial>
Swift
class RLMGeospatialBox : NSObject, RLMGeospatial, @unchecked Sendable
-
Uma classe que representa um polígono, que pode ser utilizada em uma query geoespacial
geoWithin
.Um
RLMGeospatialPolygon
descreve uma forma composta de umPolygon
externo, chamadoouterRing
, e 0 ou maisPolygon
s internos, chamadoholes
, que representa um número ilimitado de orifícios internos dentro doPolygon
externo. UmPolygon
descreve uma forma composta por pelo menos três segmentos, onde o último e o primeiroRLMGeospatialPoint
devem ser iguais para indicar um polígono fechado (o que significa que você precisa de pelo menos 4 pontos para definir um polígono). Os orifícios internos em umRLMGeospatialPolygon
devem estar inteiramente dentro do anel externoUm
hole
tem as seguintes restrições:- Os orifícios não podem se cruzar, ou seja, o limite de um orifício não pode cruzar o interno e o externo de qualquer outro orifício.
- Os orifícios não podem compartilhar bordas, ou seja, se um orifício contiver uma borda BI, nenhum outro orifício poderá contê-la.
- Os orifícios podem compartilhar vérxes, no entanto, nenhum vértex pode aparecer duas vezes em um único orifício.
- Nenhum vazio pode estar vazio.
Apenas um aninhamento é permitido.
Aviso
Esta classe não pode ser persistente e só pode ser utilizada dentro de uma query geoespacial
geoWithin
.Declaração
Objective-C
@interface RLMGeospatialPolygon : NSObject <RLMGeospatial>
Swift
class RLMGeospatialPolygon : NSObject, RLMGeospatial, @unchecked Sendable
-
Esta estrutura é um auxiliar para representar/converter uma distância. Ele pode ser utilizado em query geoespaciais como aquelas representadas por um
RLMGeospatialCircle
Aviso
Esta estrutura não pode ser mantida e só pode ser usada para construir outras formas geoespaciaisDeclaração
Objective-C
@interface RLMDistance : NSObject
Swift
class RLMDistance : NSObject, @unchecked Sendable
-
Uma classe que representa um círculo, que pode ser utilizada em uma query geoespacial
geoWithin
.Aviso
Esta classe não pode ser persistente e só pode ser utilizada dentro de uma query geoespacialgeoWithin
.Declaração
Objective-C
@interface RLMGeospatialCircle : NSObject <RLMGeospatial>
Swift
class RLMGeospatialCircle : NSObject, RLMGeospatial, @unchecked Sendable
-
Uma configuração que controla como as assinaturas iniciais são preenchidas quando um Arquivo de Realm é aberto pela primeira vez.
Veja
RLMSubscriptionSet
Declaração
Objective-C
@interface RLMInitialSubscriptionsConfiguration : NSObject
Swift
@_nonSendable(_assumed) class RLMInitialSubscriptionsConfiguration : NSObject, @unchecked Sendable
-
RLMLogger
é usado para criar sua própria lógica de registro personalizada.Você pode definir seu próprio registrador criando uma instância de
RLMLogger
e definir a função de registro que será invocada sempre que houver uma mensagem de registro. Defina este registrador personalizado como seu registrador padrão usandosetDefaultLogger
.RLMLogger.defaultLogger = [[RLMLogger alloc] initWithLevel:RLMLogLevelDebug logFunction:^(RLMLogLevel level, NSString * message) { NSLog(@"Realm Log - %lu, %@", (unsigned long)level, message); }];
Observação
Por padrão, o nível de limite de registro éRLMLogLevelInfo
, e as strings de registro são enviadas para o Apple System Logger.Declaração
Objective-C
@interface RLMLogger : NSObject
Swift
class RLMLogger : NSObject
-
RLMMigration
instâncias encapsulam informações destinadas a facilitar a migração de um esquema.Uma instância
Veja maisRLMMigration
é passada para um blocoRLMMigrationBlock
definido pelo usuário ao atualizar a versão de um Realm. Essa instância fornece acesso ao reconhecimento de data center antigos e novos, aos objeto no Realm e fornece funcionalidade para modificar o Realm durante a migração.Declaração
Objective-C
@interface RLMMigration : NSObject
Swift
@_nonSendable(_assumed) class RLMMigration : NSObject
-
O
RLMMongoClient
permite ler e escrever em um banco de dados MongoDB por meio do serviço Realm Cloud.Ele fornece acesso a instâncias de
RLMMongoDatabase
, que, por sua vez, fornecem acesso aRLMMongoCollection
s específicos que contêm seus dados.Observação
Antes de ler ou gravar dados, o usuário deve fazer login.
Veja também
Declaração
Objective-C
@interface RLMMongoClient : NSObject
Swift
@_nonSendable(_assumed) class RLMMongoClient : NSObject, @unchecked Sendable
-
Atua como intermediário e processa eventos com o WatchStream
Veja maisDeclaração
Objective-C
@interface RLMChangeStream : NSObject <RLMEventDelegate>
Swift
@_nonSendable(_assumed) class RLMChangeStream : NSObject, RLMEventDelegate, @unchecked Sendable
-
O
RLMMongoCollection
representa uma collection MongoDB.Você pode obter uma instância de um
RLMMongoDatabase
.Os métodos de criar, ler, atualizar e excluir estão disponíveis.
As operações no servidor Realm cloud são realizadas de forma assíncrona.
Observação
Antes de ler ou gravar dados, o usuário deve fazer login.Uso: RLMMongoClient *client = [auto.app mongoClient:@"MongoDB1"]; RLMMongoDatabase *banco de dados = [banco de dados do clienteWithName:@"test_data"]; RLMMongoCollection *coleção = [database collectionWithName:@"Dog"]; [collection insertOneDocument:@{@"name": @"fido", @"breed": @"cane corso"} conclusão:...];
Veja também
Declaração
Objective-C
@interface RLMMongoCollection : NSObject
Swift
@_nonSendable(_assumed) class RLMMongoCollection : NSObject, @unchecked Sendable
-
O
RLMMongoDatabase
representa um MongoDB database, que contém um grupo de collection que contêm seus dados.Ele pode ser recuperado do
RLMMongoClient
.Use-o para obter
RLMMongoCollection
s para ler e gravar dados.Observação
Antes de ler ou gravar dados, o usuário deve fazer login'.
Veja também
Declaração
Objective-C
@interface RLMMongoDatabase : NSObject
Swift
@_nonSendable(_assumed) class RLMMongoDatabase : NSObject, @unchecked Sendable
-
Uma solicitação HTTP que pode ser feita para um servidor arbitrário.
Veja maisDeclaração
Objective-C
@interface RLMRequest : NSObject
Swift
@_nonSendable(_assumed) class RLMRequest : NSObject
-
O conteúdo de uma resposta HTTP.
Veja maisDeclaração
Objective-C
@interface RLMResponse : NSObject
Swift
@_nonSendable(_assumed) class RLMResponse : NSObject
-
Protocolo de transporte para interfaces estrangeiras. Permite o tratamento personalizado de solicitação/resposta.
Veja maisDeclaração
Objective-C
@interface RLMNetworkTransport : NSObject <RLMNetworkTransport>
Swift
@_nonSendable(_assumed) class RLMNetworkTransport : NSObject, RLMNetworkTransportProtocol, @unchecked Sendable
-
RLMObject
é uma classe base para objetos de modelo que representam dados armazenados no Realms.Defina suas classes de modelo subclassificando
RLMObject
e adicionando propriedade a serem managed. Em seguida, instancie e use suas subclasses personalizadas em vez de usar a classeRLMObject
diretamente.// Dog.h @interface Dog : RLMObject @property NSString *name; @property BOOL adopted; @end // Dog.m @implementation Dog @end //none needed
Tipos de propriedade suportados
NSString
NSInteger
,int
,long
,float
edouble
BOOL
oubool
NSDate
NSData
NSNumber<X>
, ondeX
é um deRLMInt
,RLMFloat
,RLMDouble
ouRLMBool
, para propriedades de número opcionaisRLMObject
subclasses, para modelar relacionamentos de muitos para um.RLMArray<X>
, ondeX
é uma subclasseRLMObject
, para modelar relacionamentos muitos-para-muitos.
Consultando
Você pode iniciar query diretamente por meio dos métodos de classe:
allObjects
,objectsWhere:
eobjectsWithPredicate:
. Esses métodos permitem que você faça uma query facilmente em uma subclasse personalizada para instâncias dessa classe no Realm padrão.Para pesquisar em um Realm diferente do Realm padrão, use os métodos de classe
allObjectsInRealm:
,objectsInRealm:where:
eobjectsInRealm:withPredicate:
.Veja
RLMRealm
Relacionamentos
Consulte nossa documentação do Realm Swift para obter mais detalhes.
Observação de valor-chave
Todas as propriedades
RLMObject
(incluindo as propriedades que você cria em subclasses) são compatíveis com a Observação de Valores-chave, excetorealm
eobjectSchema
.Tenha em mente as seguintes dicas ao observar Objeto de Realm:
- Ao contrário das propriedades
NSMutableArray
, as propriedadesRLMArray
não exigem o uso do objeto proxy retornado de-mutableArrayValueForKey:
ou a definição de métodos de mutação KVC na classe que a contém. Você pode simplesmente chamar métodos diretamente noRLMArray
; qualquer alteração será automaticamente observada pelo objeto que a contém. - Instâncias
RLMObject
não gerenciadas não podem ser adicionadas a um Realm enquanto tiverem quaisquer propriedades observadas. - A modificação de s gerenciados
RLMObject
dentro-observeValueForKeyPath:ofObject:change:context:
não é recomendada. As propriedades podem mudar mesmo quando o Realm não está em uma transação de escrita (por exemplo, quando-[RLMRealm refresh]
é chamado depois que as alterações são feitas em um thread diferente) e as notificações são enviadas antes da alteração ser aplicada (quandoNSKeyValueObservingOptionPrior
é usado) pode ser enviado em momentos em que você não pode iniciar uma transação por escrito.
Declaração
Objective-C
@interface RLMObject : RLMObjectBase <RLMThreadConfined>
Swift
@_nonSendable(_assumed) class RLMObject : RLMObjectBase, RLMThreadConfined
-
Um identificador de objeto exclusivo de 12 bytes (provavelmente).
Os ObjectIds são semelhantes a um GUID ou UUID e podem ser usados para identificar exclusivamente objetos sem um gerador de ID centralizado. Um ObjectId consiste em:
- Um carimbo de data/hora de 4 bytes medindo o tempo de criação do ObjectId em segundos desde a Era UNIX.
- Um valor aleatório de 5 bytes
- Um contador de 3 bytes, inicializado para um valor aleatório.
Os ObjectIds devem ser gerados rapidamente. A classificação por um campo ObjectId normalmente resultará na classificação dos objetos na ordem de criação.
Veja maisDeclaração
Objective-C
@interface RLMObjectId : NSObject <NSCopying>
Swift
@_nonSendable(_assumed) class RLMObjectId : NSObject, NSCopying, @unchecked Sendable
-
Esta classe representa esquemas de objeto de modelo Realm.
Ao usar o Realm, as instâncias do
RLMObjectSchema
permitem realizar migrações e introspecção do esquema do banco de dados.O esquema de objetos é mapeado para tabelas no reconhecimento de data center principal.
Veja maisDeclaração
Objective-C
@interface RLMObjectSchema : NSObject <NSCopying>
Swift
@_nonSendable(_assumed) class RLMObjectSchema : NSObject, NSCopying, @unchecked Sendable
-
RLMProperty
instâncias representam propriedade managed por um Realm no contexto de um esquema de objetos. Essas propriedade podem ser persistentes em um Arquivo de Realm ou computadas a partir de outros dados do Realm.Ao usar o Realm, as instâncias do
RLMProperty
permitem realizar migrações e introspecção do esquema do banco de dados.Essas instâncias de propriedade são mapeadas para colunas no reconhecimento de data center principal.
Veja maisDeclaração
Objective-C
@interface RLMProperty : NSObject
Swift
@_nonSendable(_assumed) class RLMProperty : NSObject, @unchecked Sendable
-
Uma instância do
Veja maisRLMPropertyDescriptor
representa uma propriedade específica em uma determinada classe.Declaração
Objective-C
@interface RLMPropertyDescriptor : NSObject
Swift
@_nonSendable(_assumed) class RLMPropertyDescriptor : NSObject, @unchecked Sendable
-
Interface do cliente do provedor básico.
Veja maisDeclaração
Objective-C
@interface RLMProviderClient : NSObject
Swift
@_nonSendable(_assumed) class RLMProviderClient : NSObject, @unchecked Sendable
-
Um cliente que pode ser usado para registrar dispositivos no servidor para receber notificações push
Veja maisDeclaração
Objective-C
@interface RLMPushClient : NSObject
Swift
@_nonSendable(_assumed) class RLMPushClient : NSObject, @unchecked Sendable
-
Uma instância
RLMRealm
(também conhecida como "um Realm") representa um reconhecimento de data center Realm.Os domínios podem ser armazenados no disco (consulte
+[RLMRealm realmWithURL:]
) ou na memória (consulteRLMRealmConfiguration
).RLMRealm
as instâncias são armazenadas em cache internamente e a construção de objetoRLMRealm
equivalentes (por exemplo, usando o mesmo caminho ou identificador) várias vezes em um único thread em uma única iteração do loop de eventos normalmente retornará o mesmo objetoRLMRealm
.Se você quiser especificamente garantir que uma instância
RLMRealm
seja destruída (por exemplo, se você deseja abrir um Realm, verificar uma propriedade e, em seguida, possivelmente excluir o Arquivo de Realm e reabri-lo), coloque o código que usa o Realm dentro de um@autoreleasepool {}
e certifique-se de que você não tenha outras referências fortes para ele.Aviso
As instânciasRLMRealm
não congeladas são confinadas por threads e não podem ser compartilhadas entre threads ou filas de despacho. Tentar fazer isso fará com que uma exceção seja lançada. Você deve chamar esse método em cada thread em que deseja interagir com o Realm. Para filas de despacho, isso significa que você deve chamá-la em cada bloco despachado, pois não é garantido que uma fila execute todos os seus blocos no mesmo thread.Declaração
Objective-C
@interface RLMRealm : NSObject
Swift
@_nonSendable(_assumed) class RLMRealm : NSObject
-
Um token retornado de métodos que se inscrevem em alterações em um Realm.
As assinaturas de alterações no Realm retornam uma instância
Veja maisRLMNotificationToken
, que pode ser usada para cancelar a assinatura das alterações. Você deve armazenar uma referência forte ao token pelo tempo que desejar continuar recebendo notificações. Quando quiser parar, chame o método-invalidate
. As notificações também serão interrompidas se o token for desalocado.Declaração
Objective-C
@interface RLMNotificationToken : NSObject
Swift
@_nonSendable(_assumed) class RLMNotificationToken : NSObject, @unchecked Sendable
-
Uma instância
RLMRealmConfiguration
descreve as diferentes opções usadas para criar uma instância de um Realm.RLMRealmConfiguration
instâncias são simplesmenteNSObject
s. Ao contrárioRLMRealm
s eRLMObject
s, eles podem ser compartilhados livremente entre threads, desde que você não os altere.Criar objetos de configuração para subconjuntos de classes (definindo a propriedade
Veja maisobjectClasses
) pode ser caro. Por esse motivo, normalmente você desejará armazenar em cache e reutilizar um único objeto de configuração para cada configuração distinta, em vez de criar um novo objeto sempre que abrir um Realm.Declaração
Objective-C
@interface RLMRealmConfiguration : NSObject <NSCopying>
Swift
@_nonSendable(_assumed) class RLMRealmConfiguration : NSObject, NSCopying
-
RLMResults
é um tipo de container de atualização automática no Realm retornado de consultas de objetos. Representa os resultados da query na forma de uma coleção de objetos.RLMResults
podem ser query usando os mesmos predicados deRLMObject
eRLMArray
, e você pode encadear query para filtrar ainda mais os resultados.RLMResults
sempre refletem o estado atual do Realm na thread atual, inclusive durante transação de escrita na thread atual. A única exceção a isso é ao usar a enumeração rápidafor...in
, que sempre enumerará os objetos que corresponderam à query quando a enumeração for iniciada, mesmo que alguns deles sejam excluídos ou modificados para serem excluídos pelo filtro durante a enumeração.RLMResults
são avaliados preguiçosamente na primeira vez que são acessados; eles só executam query quando o resultado da query é solicitado. Isso significa que o encadeamento de váriosRLMResults
temporários para classificar e filtrar seus dados não executa nenhum trabalho extra processando o estado intermediário.Depois que os resultados são avaliados ou um bloco de notificação é adicionado, os resultados são mantidos atualizados, com o trabalho feito para mantê-los atualizados em um thread em segundo plano, sempre que possível.
Veja maisRLMResults
não pode ser diretamente instanciado.Declaração
Objective-C
@interface RLMResults<RLMObjectType> : NSObject <RLMCollection, NSFastEnumeration>
Swift
@_nonSendable(_assumed) class RLMResults<RLMObjectType> : NSObject, RLMCollection, NSFastEnumeration where RLMObjectType : AnyObject
-
RLMLinkingObjects
é um tipo de contêiner de atualização automática. Ele representa uma coleção de objetos vinculados ao seu objeto principal.Para obter mais informações, consulte a seção "Relacionamentos inversos" na documentação.
Declaração
Objective-C
@interface RLMLinkingObjects<RLMObjectType : RLMObject *> : RLMResults
Swift
@_nonSendable(_assumed) class RLMLinkingObjects<RLMObjectType> : RLMResults<AnyObject> where RLMObjectType : RLMObject
-
RLMSchema
instâncias representam coleções de esquemas de objetos de modelo gerenciados por um Realm.Ao usar o Realm, as instâncias do
RLMSchema
permitem realizar migrações e introspecção do esquema do banco de dados.Mapa de esquemas para collection de tabelas no reconhecimento de data center principal.
Veja maisDeclaração
Objective-C
@interface RLMSchema : NSObject <NSCopying>
Swift
@_nonSendable(_assumed) class RLMSchema : NSObject, NSCopying, @unchecked Sendable
-
Um objeto
RLMSectionedResultsChange
encapsula informações sobre alterações nos resultados seccionados que são relatados pelas notificações do Realm.RLMSectionedResultsChange
é passado para os blocos de notificação registrados com-addNotificationBlock
emRLMSectionedResults
e relata quais seções e linhas na coleção foram alteradas desde a última vez que o bloco de notificação foi chamado.Um exemplo completo de atualização de um
UITableView
denominadotv
:[tv beginUpdates]; [tv deleteRowsAtIndexPaths:changes.deletions withRowAnimation:UITableViewRowAnimationAutomatic]; [tv insertRowsAtIndexPaths:changes.insertions withRowAnimation:UITableViewRowAnimationAutomatic]; [tv reloadRowsAtIndexPaths:changes.modifications withRowAnimation:UITableViewRowAnimationAutomatic]; [tv insertSections:changes.sectionsToInsert withRowAnimation:UITableViewRowAnimationAutomatic]; [tv deleteSections:changes.sectionsToRemove withRowAnimation:UITableViewRowAnimationAutomatic]; [tv endUpdates];
Todas as arrays em um
Veja maisRLMSectionedResultsChange
são sempre classificadas em ordem crescente.Declaração
Objective-C
@interface RLMSectionedResultsChange : NSObject
Swift
@_nonSendable(_assumed) class RLMSectionedResultsChange : NSObject
-
Uma RLMSection contém os objetos que pertencem a uma chave de seção especificada.
Veja maisDeclaração
Objective-C
@interface RLMSection<RLMKeyType : id <RLMValue>, RLMObjectType> : NSObject <RLMSectionedResult>
Swift
@_nonSendable(_assumed) class RLMSection<RLMKeyType, RLMObjectType> : NSObject, RLMSectionedResult where RLMKeyType : RLMValue, RLMObjectType : AnyObject
-
Uma collection avaliada displicentemente que contém elementos em seções determinadas por uma chave de seção.
Veja maisDeclaração
Objective-C
@interface RLMSectionedResults<RLMKeyType : id <RLMValue>, RLMObjectType : id <RLMValue>> : NSObject <RLMSectionedResult>
Swift
@_nonSendable(_assumed) class RLMSectionedResults<RLMKeyType, RLMObjectType> : NSObject, RLMSectionedResult where RLMKeyType : RLMValue, RLMObjectType : RLMValue
-
Um tipo de dados de collection usado para armazenar objetos distintos.
Observação
RLMSet
suporta o armazenamento de tipos primitivos eRLMObject
.RLMSet
não suporta o armazenamento de Objeto de Realm incorporados.Declaração
Objective-C
@interface RLMSet<RLMObjectType> : NSObject <RLMCollection>
Swift
@_nonSendable(_assumed) class RLMSet<RLMObjectType> : NSObject, RLMCollection where RLMObjectType : AnyObject
-
Um objeto de configuração que representa o estado de configuração de um Realm que se destina a sincronizar com um servidor MongoDB de objetos de Realm .
Veja maisDeclaração
Objective-C
@interface RLMSyncConfiguration : NSObject
Swift
@_nonSendable(_assumed) class RLMSyncConfiguration : NSObject
-
Um gerenciador que serve como um ponto central para a configuração relacionada à sincronização.
Veja maisDeclaração
Objective-C
@interface RLMSyncManager : NSObject
Swift
@_nonSendable(_assumed) class RLMSyncManager : NSObject, @unchecked Sendable
-
Opções para configurar tempos limite e intervalos no cliente de sincronização.
Veja maisDeclaração
Objective-C
@interface RLMSyncTimeoutOptions : NSObject
Swift
@_nonSendable(_assumed) class RLMSyncTimeoutOptions : NSObject
-
Um objeto de token correspondente a um bloco de notificação de progresso em um objeto de sessão.
Para interromper as notificações manualmente, ligue para
-invalidate
nelas. As notificações devem ser interrompidas antes que o token saia do escopo ou seja destruído.Declaração
Objective-C
@interface RLMProgressNotificationToken : RLMNotificationToken
Swift
@_nonSendable(_assumed) class RLMProgressNotificationToken : RLMNotificationToken, @unchecked Sendable
-
Um objeto encapsulando uma "sessão" do Atlas App Services. As sessões representam a comunicação entre o cliente (e um arquivo Realm local no disco) e o servidor (e um Realm remoto com um determinado valor de partição armazenado no Atlas App Services).
As sessões são sempre criadas pelo SDK e distribuídas por meio de várias APIs. A duração das sessões associadas aos Realms é gerenciada automaticamente. Os objetos de sessão podem ser acessados de qualquer thread.
Veja maisDeclaração
Objective-C
@interface RLMSyncSession : NSObject
Swift
@_nonSendable(_assumed) class RLMSyncSession : NSObject, @unchecked Sendable
-
Um token opaco retornou como parte de determinados erros. Ele pode ser passado para determinadas APIs para realizar determinadas ações.
Veja
RLMSyncErrorClientResetError
,RLMSyncErrorPermissionDeniedError
Declaração
Objective-C
@interface RLMSyncErrorActionToken : NSObject
Swift
@_nonSendable(_assumed) class RLMSyncErrorActionToken : NSObject, @unchecked Sendable
-
Veja maisRLMSyncSubscription
é usado para definir uma assinatura Flexible Sync obtida da query de um conjunto de assinaturas, que pode ser usado para ler ou remover/atualizar uma assinatura confirmada.Declaração
Objective-C
@interface RLMSyncSubscription : NSObject
Swift
@_nonSendable(_assumed) class RLMSyncSubscription : NSObject
-
Veja maisRLMSyncSubscriptionSet
é uma collection deRLMSyncSubscription
s. Este é o ponto de entrada para adicionar e removerRLMSyncSubscription
s.Declaração
Objective-C
@interface RLMSyncSubscriptionSet : NSObject <NSFastEnumeration>
Swift
@_nonSendable(_assumed) class RLMSyncSubscriptionSet : NSObject, NSFastEnumeration
-
Um objeto destinado a ser passado entre threads contendo uma referência segura para threads ao seu objeto confinado pela thread.
Para resolver uma referência segura de thread em um Realm de destino em uma thread diferente, passe para
-[RLMRealm resolveThreadSafeReference:]
.Aviso
Um objeto
RLMThreadSafeReference
deve ser resolvido no máximo uma vez. A não resolução de umRLMThreadSafeReference
fará com que a versão de origem do Realm seja fixada até que a referência seja desalocada.Observação
Prefira
RLMThreadSafeReference
s de curta duração, pois os dados da versão do Realm de origem serão retidos até que todas as referências tenham sido resolvidas ou desalocadas.Veja
Declaração
Objective-C
@interface RLMThreadSafeReference<__covariant Confined : id <RLMThreadConfined>> : NSObject
Swift
@_nonSendable(_assumed) class RLMThreadSafeReference<Confined> : NSObject, @unchecked Sendable where Confined : RLMThreadConfined
-
O resultado de uma operação
Veja maisupdateOne
ouupdateMany
umRLMMongoCollection
.Declaração
Objective-C
@interface RLMUpdateResult : NSObject
Swift
@_nonSendable(_assumed) class RLMUpdateResult : NSObject, @unchecked Sendable
-
Uma instância
RLMUser
representa uma única conta de usuário do aplicativo Realm.Um usuário pode ter uma ou mais credenciais associadas a ele. Essas credenciais identificam exclusivamente o usuário para o provedor de autenticação e são usadas para se conectar em uma conta de usuário do Atlas App Services.
Observe que os objeto de usuário só são vendidos por meio de API do SDK e não podem ser inicializados diretamente. Objeto de usuário podem ser acessados de qualquer thread.
Veja maisDeclaração
Objective-C
@interface RLMUser : NSObject
Swift
@_nonSendable(_assumed) class RLMUser : NSObject, @unchecked Sendable
-
Uma identidade de um usuário. Um usuário pode ter várias identidades, geralmente associadas a vários provedores. Observe que isso é diferente da cadeia de caracteres de identificador exclusiva de um usuário. @seeAlso
Veja maisRLMUser.identifier
Declaração
Objective-C
@interface RLMUserIdentity : NSObject
Swift
@_nonSendable(_assumed) class RLMUserIdentity : NSObject, @unchecked Sendable
-
Um perfil para um determinado usuário.
Veja maisDeclaração
Objective-C
@interface RLMUserProfile : NSObject
Swift
@_nonSendable(_assumed) class RLMUserProfile : NSObject, @unchecked Sendable
-
Modelo UserAPIKey para APIKeys recebidos do servidor.
Veja maisDeclaração
Objective-C
@interface RLMUserAPIKey : NSObject
Swift
@_nonSendable(_assumed) class RLMUserAPIKey : NSObject, @unchecked Sendable