Aliases de tipo

Os seguintes aliases de tipo estão disponíveis globalmente.

Aliases

  • PropertyType é uma enumeração que descreve todos os tipos de propriedade suportados nos modelos Realm.

    Para obter mais informações, consulte modelo de objetos e esquemas.

    Tipos primitivos

    • Int
    • Bool
    • Float
    • Double

    Tipo de objeto de Realm

    relacionamento: tipos array (no Swift, List) e Object

    Declaração

    Swift

    public typealias PropertyType = RLMPropertyType
  • Um token opaco que é retornado de métodos que se inscrevem para alterações em um Realm.

    Declaração

    Swift

    public typealias NotificationToken = RLMNotificationToken
  • Um objeto representando a configuração do aplicativo Realm

    Veja

    RLMAppConfiguration

    Observação

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

    Swift

    public typealias AppConfiguration = RLMAppConfiguration
  • Um objeto que representa um cliente que realiza chamadas de rede nas chaves de API do usuário do Realm cloud

    Veja

    RLMAPIKeyAuth

    Declaração

    Swift

    public typealias APIKeyAuth = RLMAPIKeyAuth
  • Um objeto que representa um cliente que realiza chamadas de rede nas funções de registro e senha do usuário do Realm cloud

    Veja

    RLMEmailPasswordAuth

    Declaração

    Swift

    public typealias EmailPasswordAuth = RLMEmailPasswordAuth
  • Um objeto representando o perfil social de um usuário.

    Declaração

    Swift

    public typealias UserProfile = RLMUserProfile
  • Um tipo de bloqueio usado para relatar um erro

    Declaração

    Swift

    public typealias EmailPasswordAuthOptionalErrorBlock = RLMEmailPasswordAuthOptionalErrorBlock
  • Um objeto que representa um cliente que realiza chamadas de rede no Realm cloud para registrar dispositivos nas notificações push

    Veja

    Veja RLMPushClient

    Declaração

    Swift

    public typealias PushClient = RLMPushClient
  • Um objeto usado no UserAPIKeyProviderClient

    Declaração

    Swift

    public typealias UserAPIKey = RLMUserAPIKey
  • App

    O App tem o conjunto fundamental de métodos para se comunicar com um back-end do aplicativo Realm. Essa interface fornece acesso ao login e autenticação.

    Declaração

    Swift

    public typealias App = RLMApp
  • Use esse delegado para receber uma chamada de resposta assim que a autenticação for bem-sucedida ou falhar

    Declaração

    Swift

    @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
    public typealias ASLoginDelegate = RLMASLoginDelegate
  • AsymmetricObject é uma classe base usada para definir objetos de Realm assimétricos.

    Objeto assimétricos só podem ser criados usando a função create(_ type:, value:) 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 AsymmetricObject são os mesmos de Object, exceto pelo fato de que objetos assimétricos só podem ser vinculados a objetos incorporados, portanto, as propriedades Object e List<Object> não são suportadas (EmbeddedObject e List<EmbeddedObject> são).

    class Person: AsymmetricObject {
        @Persisted(primaryKey: true) var _id: ObjectId
        @Persisted var name: String
        @Persisted var age: Int
    }
    

    Declaração

    Swift

    public typealias AsymmetricObject = RealmSwiftAsymmetricObject
  • Um objeto de dicionário representando um documento BSON .

    Declaração

    Swift

    public typealias Document = Dictionary<String, AnyBSON?>
  • A MaxKey sempre terá o maior valor ao comparar com outros BSON types

    Declaração

    Swift

    public typealias MaxKey = RLMMaxKey
  • O MinKey sempre será o menor valor ao comparar com outros BSON types

    Declaração

    Swift

    public typealias MinKey = RLMMinKey
  • Object é uma classe usada para definir objetos de modelo Realm.

    No Realm, você define suas classes de modelo subclassificando Object e adicionando propriedade a serem managed. Em seguida, você instancia e usa suas subclasses personalizadas em vez de usar a classe Object diretamente.

    class Dog: Object {
        @Persisted var name: String
        @Persisted var adopted: Bool
        @Persisted var siblings: List<Dog>
    }
    

    Tipos de propriedade suportados

    • String
    • Int, Int8, Int16, Int32, Int64
    • Float
    • Double
    • Bool
    • Date
    • Data
    • Decimal128
    • ObjectId
    • UUID
    • AnyRealmValue
    • Qualquer enumeração brutoRepresentável cujo tipo bruto seja um tipo de property legal. Os enums devem ser explicitamente marcados como em conformidade com PersistableEnum .
    • Object subclasses, para modelar relacionamentos muitos-para-um
    • EmbeddedObject subclasses, para modelar relacionamentos um-para-um

    Todos os tipos acima também podem ser Optional, com exceção de AnyRealmValue. As subclasses Object e EmbeddedObject devem ser opcionais.

    Além dos valores individuais, três tipos de collection diferentes são suportados:

    • List<Element>: uma coleção mutável ordenada semelhante a Array .
    • MutableSet<Element>: uma collection exclusiva não ordenada semelhante a Set.
    • Map<String, Element>: uma collection de valores-chave não ordenada semelhante a Dictionary .

    O tipo de collections Element pode ser qualquer um dos tipos de propriedades de collections suportadas listadas acima. As collection em si podem não ser opcionais, mas os valores dentro delas podem ser, exceto para listas e conjuntos de subclasses Object ou EmbeddedObject .

    Finalmente, propriedades do LinkingObjects podem ser utilizadas para rastrear quais objetos estão vinculados a este.

    Todas as propriedades que devem ser armazenadas pelo Realm devem ser explicitamente marcadas com @Persisted. Quaisquer propriedades não marcadas com @Persisted serão totalmente ignoradas pelo Realm e podem ser de qualquer tipo.

    Consultando

    Você pode recuperar todos os objetos de um determinado tipo de um Realm chamando o método de instância objects(_:) .

    Relacionamentos

    Consulte nosso guia Swift para obter mais detalhes.

    Declaração

    Swift

    public typealias Object = RealmSwiftObject
  • EmbeddedObject é uma classe base usada para definir objetos de modelo de Realm incorporados.

    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. Objeto incorporado são excluídos automaticamente quando o objeto é excluído ou quando o objeto é modificado para não ponto mais para o objeto incorporado, reatribuindo uma propriedade de objeto ou removendo o objeto incorporado da lista 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 EmbeddedObject são os mesmos do Object, exceto pelo fato de que os objetos incorporados não podem ser vinculados a objetos de nível superior, portanto, as propriedades Object e List<Object> não são suportadas (EmbeddedObject e List<EmbeddedObject> são).

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

    class Owner: Object {
        @Persisted var name: String
        @Persisted var dogs: List<Dog>
    }
    class Dog: EmbeddedObject {
        @Persisted var name: String
        @Persisted var adopted: Bool
        @Persisted(originProperty: "dogs") var owner: LinkingObjects<Owner>
    }
    

    Declaração

    Swift

    public typealias EmbeddedObject = RealmSwiftEmbeddedObject
  • Uma estrutura 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.

    Valores fora desses intervalos retornarão nulo ao tentar criar um GeoPoint.

    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.

    o seguinte é necessário:

    • Uma propriedade String com o valor de ponto: @Persisted var type: String = "Point".
    • Uma lista contendo um par Longitude/Latitude: @Persisted private var coordinates: List<Double>.

    A abordagem recomendada é usar um objeto incorporado.

    public class Location: EmbeddedObject {
      @Persisted private var coordinates: List<Double>
      @Persisted private var type: String = "Point"
    
      public var latitude: Double { return coordinates[1] }
      public var longitude: Double { return coordinates[0] }
    
      convenience init(_ latitude: Double, _ longitude: Double) {
          self.init()
          // Longitude comes first in the coordinates array of a GeoJson document
          coordinates.append(objectsIn: [longitude, latitude])
        }
      }
    

    Aviso

    Esta estrutura não pode ser persistente e só pode ser utilizada para construir outras formas geoespaciais como (GeoBox, GeoPolygon e GeoCircle).

    Declaração

    Swift

    public typealias GeoPoint = RLMGeospatialPoint
  • 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 .

    Declaração

    Swift

    public typealias GeoBox = RLMGeospatialBox
  • Uma classe que representa um polígono, que pode ser utilizada em uma query geoespacial geoWithin .

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

    Aviso

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

    Declaração

    Swift

    public typealias GeoPolygon = RLMGeospatialPolygon
  • Esta estrutura é um auxiliar para representar/converter uma distância. Ele pode ser utilizado em query geoespaciais como aquelas representadas por um GeoCircle

    Aviso

    Esta estrutura não pode ser mantida e só pode ser usada para construir outras formas geoespaciais

    Declaração

    Swift

    public typealias Distance = RLMDistance
  • 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 .

    Declaração

    Swift

    public typealias GeoCircle = RLMGeospatialCircle
  • O tipo de bloco de migração usado para migrar um Realm.

    Declaração

    Swift

    public typealias MigrationBlock = @Sendable (_ migration: Migration, _ oldSchemaVersion: UInt64) -> Void

    Parâmetros

    migration

    Um objeto Migration usado para executar a migração. O objeto de migração permite enumerar e alterar quaisquer objetos existentes que exijam migração.

    oldSchemaVersion

    A versão do esquema do Realm que está sendo migrada.

  • Uma classe de objeto usada durante migrações.

    Declaração

    Swift

    public typealias MigrationObject = DynamicObject
  • Um tipo de bloco que fornece as versões antigas e novas de um objeto no Realm. As propriedades do objeto só podem ser acessadas usando a assinatura.

    Declaração

    Swift

    public typealias MigrationObjectEnumerateBlock = (_ oldObject: MigrationObject?, _ newObject: MigrationObject?) -> Void

    Parâmetros

    oldObject

    O objeto do Realm original (somente leitura).

    newObject

    O objeto do Realm migrado (leitura-gravação).

  • Migration instâncias encapsulam informações destinadas a facilitar a migração de um esquema.

    Uma instância Migration é passada para um bloco MigrationBlock 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

    Swift

    public typealias Migration = RLMMigration
  • O MongoClient permite ler e escrever em um banco de dados MongoDB por meio do serviço Realm Cloud.

    Ele fornece acesso a instâncias de MongoDatabase, que, por sua vez, fornecem acesso a MongoCollections específicos que contêm seus dados.

    Observação

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

    Declaração

    Swift

    public typealias MongoClient = RLMMongoClient
  • O MongoDatabase representa um MongoDB database, que contém um grupo de collection que contêm seus dados.

    Ele pode ser recuperado do MongoClient.

    Use-o para obter MongoCollections para ler e gravar dados.

    Observação

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

    Declaração

    Swift

    public typealias MongoDatabase = RLMMongoDatabase
  • Opções para utilizar ao executar um comando find em um MongoCollection.

    Declaração

    Swift

    public typealias FindOptions = RLMFindOptions
  • Opções a serem usadas ao executar um comando findOneAndUpdate, findOneAndReplace ou findOneAndDelete em um MongoCollection.

    Declaração

    Swift

    public typealias FindOneAndModifyOptions = RLMFindOneAndModifyOptions
  • O resultado de uma operação updateOne ou updateMany um MongoCollection.

    Declaração

    Swift

    public typealias UpdateResult = RLMUpdateResult
  • Bloco que retorna Result.success(DocumentId) em uma inserção bem-sucedida ou Result.failure(error)

    Declaração

    Swift

    public typealias MongoInsertBlock = @Sendable (Result<AnyBSON, Error>) -> Void
  • Bloco que retorna Result.success([ObjectId]) em um insertMany ou Result.failure(erro) bem-sucedido

    Declaração

    Swift

    public typealias MongoInsertManyBlock = @Sendable (Result<[AnyBSON], Error>) -> Void
  • Bloco que retorna Result.success([documento]) em uma operação de localização bem-sucedida ou Result.failure(erro)

    Declaração

    Swift

    public typealias MongoFindBlock = @Sendable (Result<[Document], Error>) -> Void
  • Bloco que retorna Result.success(documento?) em uma operação findOne bem-sucedida ou Result.failure(erro)

    Declaração

    Swift

    public typealias MongoFindOneBlock = @Sendable (Result<Document?, Error>) -> Void
  • Bloco que retorna Result.success(Int) em uma operação de contagem bem-sucedida ou Result.failure(error)

    Declaração

    Swift

    public typealias MongoCountBlock = @Sendable (Result<Int, Error>) -> Void
  • Bloco que retorna Result.success(UpdateResult) em uma operação de atualização bem-sucedida ou Result.failure(error)

    Declaração

    Swift

    public typealias MongoUpdateBlock = @Sendable (Result<UpdateResult, Error>) -> Void
  • O MongoCollection representa uma collection MongoDB.

    Você pode obter uma instância de um MongoDatabase.

    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.

    Veja também

    MongoClient, MongoDatabase

    Declaração

    Swift

    public typealias MongoCollection = RLMMongoCollection
  • Atua como intermediário e processa eventos com o WatchStream

    Declaração

    Swift

    public typealias ChangeStream = RLMChangeStream
  • A ID da transação assíncrona.

    Declaração

    Swift

    public typealias AsyncTransactionId = RLMAsyncTransactionId

Notificações

  • O tipo de bloco a ser executado para fins de notificação quando os dados em um Realm são modificados.

    Declaração

    Swift

    public typealias NotificationBlock = (_ notification: Realm.Notification, _ realm: Realm) -> Void
  • Logger é usado para criar sua própria lógica de registro personalizada.

    Você pode definir seu próprio registrador criando uma instância de Logger e definir a função de registro que será invocada sempre que houver uma mensagem de registro.

    let logger = Logger(level: .all) { level, message in
       print("Realm Log - \(level): \(message)")
    }
    

    Defina este registrador personalizado como seu registrador padrão usando Logger.shared.

       Logger.shared = inMemoryLogger
    

    Observação

    Por padrão, o nível de limite de registro é .info, e as strings de registro são enviadas para o Apple System Logger.

    Declaração

    Swift

    public typealias Logger = RLMLogger
  • Um objeto que representa um usuário do Atlas App Services.

    Veja

    RLMUser

    Declaração

    Swift

    public typealias User = RLMUser
  • Um gerenciador que configura e managed a funcionalidade relacionada à sincronização do Atlas App Services.

    Veja

    RLMSyncManager

    Declaração

    Swift

    public typealias SyncManager = RLMSyncManager
  • Opções para configurar tempos limite e intervalos no cliente de sincronização.

    Veja

    RLMSyncTimeoutOptions

    Declaração

    Swift

    public typealias SyncTimeoutOptions = RLMSyncTimeoutOptions
  • Um objeto de sessão que representa a comunicação entre o cliente e o servidor para um Realm específico.

    Veja

    RLMSyncSession

    Declaração

    Swift

    public typealias SyncSession = RLMSyncSession
  • Um tipo de fechamento para um fechamento que pode ser definido no SyncManager para permitir que erros sejam relatados ao aplicativo.

    Veja

    RLMSyncErrorReportingBlock

    Declaração

    Swift

    public typealias ErrorReportingBlock = RLMSyncErrorReportingBlock
  • Um tipo de fechamento para um fechamento que é usado por determinadas API para retornar de forma assíncrona um objeto SyncUser à aplicação.

    Veja

    RLMUserCompletionBlock

    Declaração

    Swift

    public typealias UserCompletionBlock = RLMUserCompletionBlock
  • Um erro associado à funcionalidade de sincronização do SDK. Todos os erros relatados por um manipulador de erros registrado no SyncManager são deste tipo.

    Veja

    RLMSyncError

    Declaração

    Swift

    public typealias SyncError = RLMSyncError
  • 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, um erro .writeRejected é relatado com um campo SyncError.compensatingWriteInfo não nulo 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.

    Declaração

    Swift

    public typealias CompensatingWriteInfo = RLMCompensatingWriteInfo
  • Ocorreu um erro ao fazer uma solicitação ao Atlas App Services. A maioria das funções de usuário e aplicativo que podem falhar relata erros desse tipo.

    Declaração

    Swift

    public typealias AppError = RLMAppError
  • Uma enumeração que pode ser usada para especificar o nível de registro.

    Veja

    RLMSyncLogLevel

    Declaração

    Swift

    public typealias SyncLogLevel = RLMSyncLogLevel
  • Um tipo de dados cujos valores representam diferentes provedores de autenticação que podem ser usados com o Atlas App Services.

    Veja

    RLMIdentityProvider

    Declaração

    Swift

    public typealias Provider = RLMIdentityProvider
  • Uma configuração que controla como as assinaturas iniciais são preenchidas quando um Arquivo de Realm é aberto pela primeira vez.

    Veja

    RLMInitialSubscriptionsConfiguration

    Declaração

    Swift

    public typealias InitialSubscriptionsConfiguration = RLMInitialSubscriptionsConfiguration