Aulas

As seguintes classes estão disponíveis globalmente.

RLMAppConfiguration

  • Propriedades que representam a configuração de um cliente que se comunicam com um aplicativo Realm específico.

    RLMAppConfiguration as opções não podem ser modificadas depois que o RLMApp 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.

    Veja mais

    Declaração

    Objective-C

    @interface RLMAppConfiguration : NSObject <NSCopying>

    Swift

    @_nonSendable(_assumed) class RLMAppConfiguration : NSObject, NSCopying

RLMApp

  • 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 mais

    Declaraçã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, os RLMArrays contêm um único tipo, especificado pela propriedade objectClassName . 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 macro RLM_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;
    

    RLMArrays podem ser consultados com os mesmos predicados que RLMObject e RLMResults.

    RLMArrayOs s não podem ser criados diretamente. As propriedades de RLMArray em RLMObjects 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 array RLMArray em propriedade em RLMObject subclasses e a invalidated propriedade em RLMArray si é compatível com a observação de valores-chave quando RLMArray está anexado a um managed RLMObject (RLMArrays em RLMObjects não managed nunca serão invalidados).

    Como RLMArrays 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 no RLMArray diretamente.

    Veja mais

    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 RLMAsymmetricObject são os mesmos de RLMObject, exceto pelo fato de que objetos assimétricos só podem ser vinculados a objetos incorporados, portanto, as propriedades RLMObject e RLMArray<RLMObject> não são suportadas (RLMEmbeddedObject e RLMArray<RLEmbeddedObject> são).

    Veja mais

    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 mais

    Declaração

    Objective-C

    
    @interface RLMAsyncOpenTask : NSObject

    Swift

    @_nonSendable(_assumed) class RLMAsyncOpenTask : NSObject, @unchecked Sendable

RLMBSON

  • 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 com sortedResultsUsingDescriptors:. É semelhante ao NSSortDescriptor, mas suporta apenas o subconjunto de funcionalidades que podem ser executados com eficiência pelo mecanismo de query do Realm.

    RLMSortDescriptor as instâncias são imutáveis.

    Veja mais

    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 em RLMArray e RLMResults 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 um UITableView denominado tv:

    [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 RLMCollectionChange são sempre classificadas em ordem crescente.

    Veja mais

    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 mais

    Declaraçã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 mais

    Declaraçã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, RLMDictionarys 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;
    

    RLMDictionarys podem ser consultados com os mesmos predicados que RLMObject e RLMResults.

    RLMDictionaryOs s não podem ser criados diretamente. As propriedades de RLMDictionary em RLMObjects são criadas preguiçosamente quando acessadas ou podem ser obtidas consultando um Realm.

    RLMDictionary suporta apenas NSString como uma chave. O Realm não permite o uso de . ou $ caracteres em uma chave de dicionário.

    Observação de valor-chave

    RLMDictionary suporta a observação de valor-chave de dicionário em propriedades RLMDictionary em subclasses RLMObject e a propriedade RLMDictionary invalidated em si mesmas instâncias é compatível com a observação de valor-chave quando RLMDictionary está anexado a um RLMObject gerenciado (RLMDictionarys em RLMObjects não gerenciados nunca serão invalidados).

    Veja mais

    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.

    RLMDictionaryChange é passado para os blocos de notificação registrados com -addNotificationBlock em RLMDictionary e relata quais chaves no dicionário foram alteradas desde a última vez que o bloco de notificação foi chamado.

    Veja mais

    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 mais

    Declaraçã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 do RLMObject, exceto pelo fato de que os objetos incorporados não podem ser vinculados a objetos de nível superior, portanto, as propriedades RLMObject e RLMArray<RLMObject> não são suportadas (RLMEmbeddedObject e RLMArray<RLMEmbeddedObject> são).

    Objeto incorporado não pode ter chave primária ou propriedade indexada.

    Veja mais

    Declaração

    Objective-C

    @interface RLMEmbeddedObject : RLMObjectBase <RLMThreadConfined>

    Swift

    @_nonSendable(_assumed) class RLMEmbeddedObject : RLMObjectBase, RLMThreadConfined

RLMSyncAppError

  • 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 objetos RLMCompensatingWriteInfo na chave userInfo RLMCompensatingWriteInfoKey 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 reason 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.

    Veja mais

    Declaração

    Objective-C

    
    @interface RLMCompensatingWriteInfo : NSObject

    Swift

    class RLMCompensatingWriteInfo : NSObject, @unchecked Sendable
  • Opções a serem usadas ao executar um comando findOneAndUpdate, findOneAndReplace ou findOneAndDelete em um RLMMongoCollection.

    Veja mais

    Declaração

    Objective-C

    @interface RLMFindOneAndModifyOptions : NSObject

    Swift

    @_nonSendable(_assumed) class RLMFindOneAndModifyOptions : NSObject
  • Opções para utilizar ao executar um comando find em um RLMMongoCollection.

    Veja mais

    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 e RLMGeospatialCircle).

    Aviso

    A altura não é utilizada em nenhum dos cálculos da query.

    Veja mais

    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 geoespacial geoWithin .
    Veja mais

    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 um Polygon externo, chamado outerRing, e 0 ou mais Polygons internos, chamado holes, que representa um número ilimitado de orifícios internos dentro do Polygon externo. Um Polygon descreve uma forma composta por pelo menos três segmentos, onde o último e o primeiro RLMGeospatialPoint 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 um RLMGeospatialPolygon devem estar inteiramente dentro do anel externo

    Um 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 .

    Veja mais

    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 geoespaciais
    Veja mais

    Declaraçã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 geoespacial geoWithin .
    Veja mais

    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
    Veja mais

    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 usando setDefaultLogger.

    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.
    Veja mais

    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 RLMMigration é passada para um bloco RLMMigrationBlock 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.

    Veja mais

    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 a RLMMongoCollections específicos que contêm seus dados.

    Observação

    Antes de ler ou gravar dados, o usuário deve fazer login.

    Veja mais

    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 mais

    Declaraçã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 mais

    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 RLMMongoCollections para ler e gravar dados.

    Observação

    Antes de ler ou gravar dados, o usuário deve fazer login'.

    Veja mais

    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 mais

    Declaração

    Objective-C

    @interface RLMRequest : NSObject

    Swift

    @_nonSendable(_assumed) class RLMRequest : NSObject
  • O conteúdo de uma resposta HTTP.

    Veja mais

    Declaraçã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 mais

    Declaraçã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 classe RLMObject 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 e double
    • BOOL ou bool
    • NSDate
    • NSData
    • NSNumber<X>, onde X é um de RLMInt, RLMFloat, RLMDouble ou RLMBool, para propriedades de número opcionais
    • RLMObject subclasses, para modelar relacionamentos de muitos para um.
    • RLMArray<X>, onde X é uma subclasse RLMObject , para modelar relacionamentos muitos-para-muitos.

    Consultando

    Você pode iniciar query diretamente por meio dos métodos de classe: allObjects, objectsWhere: e objectsWithPredicate:. 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: e objectsInRealm: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, exceto realm e objectSchema.

    Tenha em mente as seguintes dicas ao observar Objeto de Realm:

    1. Ao contrário das propriedades NSMutableArray , as propriedades RLMArray 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 no RLMArray ; qualquer alteração será automaticamente observada pelo objeto que a contém.
    2. Instâncias RLMObject não gerenciadas não podem ser adicionadas a um Realm enquanto tiverem quaisquer propriedades observadas.
    3. A modificação de s gerenciados RLMObjectdentro -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 (quando NSKeyValueObservingOptionPrior é usado) pode ser enviado em momentos em que você não pode iniciar uma transação por escrito.
    Veja mais

    Declaração

    Objective-C

    @interface RLMObject : RLMObjectBase <RLMThreadConfined>

    Swift

    @_nonSendable(_assumed) class RLMObject : RLMObjectBase, RLMThreadConfined
  • Informações sobre uma propriedade específica que foi alterada em uma notificação de alteração RLMObject .

    Veja mais

    Declaração

    Objective-C

    @interface RLMPropertyChange : NSObject

    Swift

    @_nonSendable(_assumed) class RLMPropertyChange : NSObject
  • 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:

    1. Um carimbo de data/hora de 4 bytes medindo o tempo de criação do ObjectId em segundos desde a Era UNIX.
    2. Um valor aleatório de 5 bytes
    3. 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 mais

    Declaraçã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 mais

    Declaraçã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 mais

    Declaração

    Objective-C

    
    @interface RLMProperty : NSObject

    Swift

    @_nonSendable(_assumed) class RLMProperty : NSObject, @unchecked Sendable
  • Uma instância do RLMPropertyDescriptor representa uma propriedade específica em uma determinada classe.

    Veja mais

    Declaração

    Objective-C

    
    @interface RLMPropertyDescriptor : NSObject

    Swift

    @_nonSendable(_assumed) class RLMPropertyDescriptor : NSObject, @unchecked Sendable
  • Interface do cliente do provedor básico.

    Veja mais

    Declaraçã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 mais

    Declaraçã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 (consulte RLMRealmConfiguration).

    RLMRealm as instâncias são armazenadas em cache internamente e a construção de objeto RLMRealm 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 objeto RLMRealm .

    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âncias RLMRealm 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.
    Veja mais

    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 RLMNotificationToken , 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.

    Veja mais

    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 simplesmente NSObjects. Ao contrário RLMRealms e RLMObjects, 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 objectClasses ) 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.

    Veja mais

    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 de RLMObject e RLMArray, 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ápida for...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ários RLMResults 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.

    RLMResults não pode ser diretamente instanciado.

    Veja mais

    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 mais

    Declaraçã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 em RLMSectionedResults 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 denominado tv:

    [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 RLMSectionedResultsChange são sempre classificadas em ordem crescente.

    Veja mais

    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 mais

    Declaraçã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 mais

    Declaraçã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 e RLMObject . RLMSet não suporta o armazenamento de Objeto de Realm incorporados.
    Veja mais

    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 mais

    Declaraçã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 mais

    Declaraçã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 mais

    Declaraçã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 mais

    Declaração

    Objective-C

    
    @interface RLMSyncSession : NSObject

    Swift

    @_nonSendable(_assumed) class RLMSyncSession : NSObject, @unchecked Sendable

Token de ação de erro

  • 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

Estados da assinatura

  • RLMSyncSubscription é 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.

    Veja mais

    Declaração

    Objective-C

    @interface RLMSyncSubscription : NSObject

    Swift

    @_nonSendable(_assumed) class RLMSyncSubscription : NSObject
  • RLMSyncSubscriptionSet é uma collection de RLMSyncSubscriptions. Este é o ponto de entrada para adicionar e remover RLMSyncSubscriptions.

    Veja mais

    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 um RLMThreadSafeReference fará com que a versão de origem do Realm seja fixada até que a referência seja desalocada.

    Observação

    Prefira RLMThreadSafeReferences 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 mais

    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 updateOne ou updateMany um RLMMongoCollection.

    Veja mais

    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 mais

    Declaração

    Objective-C

    @interface RLMUser : NSObject

    Swift

    @_nonSendable(_assumed) class RLMUser : NSObject, @unchecked Sendable

Classes de informações do usuário

  • 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 RLMUser.identifier

    Veja mais

    Declaração

    Objective-C

    
    @interface RLMUserIdentity : NSObject

    Swift

    @_nonSendable(_assumed) class RLMUserIdentity : NSObject, @unchecked Sendable
  • Um perfil para um determinado usuário.

    Veja mais

    Declaração

    Objective-C

    
    @interface RLMUserProfile : NSObject

    Swift

    @_nonSendable(_assumed) class RLMUserProfile : NSObject, @unchecked Sendable
  • Modelo UserAPIKey para APIKeys recebidos do servidor.

    Veja mais

    Declaração

    Objective-C

    
    @interface RLMUserAPIKey : NSObject

    Swift

    @_nonSendable(_assumed) class RLMUserAPIKey : NSObject, @unchecked Sendable