RLMResults

Objective-C

@interface RLMResults<RLMObjectType>
    : NSObject <RLMCollection, NSFastEnumeration>

Swift

@_nonSendable(_assumed) class RLMResults<RLMObjectType> : NSObject, RLMCollection, NSFastEnumeration where RLMObjectType : AnyObject

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.

Propriedades

  • O número de objetos na collection de resultados.

    Declaração

    Objective-C

    @property (nonatomic, readonly) NSUInteger count;

    Swift

    var count: UInt { get }
  • O tipo dos objetos na collection de resultados.

    Declaração

    Objective-C

    @property (nonatomic, readonly) RLMPropertyType type;

    Swift

    var type: RLMPropertyType { get }
  • Indica se o objeto na collection podem ser nil.

    Declaração

    Objective-C

    @property (nonatomic, getter=isOptional) BOOL optional;

    Swift

    var isOptional: Bool { get set }
  • O nome da classe dos objetos contidos na collection de resultados.

    será nil se type não for RLMPropertyTypeObject.

    Declaração

    Objective-C

    @property (nonatomic, copy, readonly, nullable) NSString *objectClassName;

    Swift

    var objectClassName: String? { get }
  • O Realm que managed essa collection de resultados.

    Declaração

    Objective-C

    @property (nonatomic, readonly) RLMRealm *_Nonnull realm;

    Swift

    var realm: RLMRealm { get }
  • Indica se a collection de resultados não é mais válida.

    A collection de resultados torna-se inválida se invalidate for chamado no realm que a contém. Uma collection de resultados invalidada pode ser acessada, mas estará sempre vazia.

    Declaração

    Objective-C

    @property (nonatomic, readonly, getter=isInvalidated) BOOL invalidated;

    Swift

    var isInvalidated: Bool { get }

Acessando objetos de um RLMResults

  • Retorna o objeto no índice especificado.

    Declaração

    Objective-C

    - (nonnull RLMObjectType)objectAtIndex:(NSUInteger)index;

    Swift

    func object(at index: UInt) -> RLMObjectType

    Parâmetros

    index

    O índice a procurar.

    Valor de retorno

    Um objeto do tipo contido na collection de resultados.

  • Retorna uma array contendo os objetos nos resultados nos índices especificados por um determinado conjunto de índices. nil será retornado se o conjunto de índices contiver um índice fora dos limites dos arrays.

    Declaração

    Objective-C

    - (nullable NSArray<RLMObjectType> *)objectsAtIndexes:
        (nonnull NSIndexSet *)indexes;

    Swift

    func objects(at indexes: IndexSet) -> [RLMObjectType]?

    Parâmetros

    indexes

    Os índices nos resultados dos quais recuperar objetos.

    Valor de retorno

    Os objetos nos índices especificados.

  • Retorna o primeiro objeto na collection de resultados.

    Retorna nil se for chamado em uma collection de resultados vazia.

    Declaração

    Objective-C

    - (nullable RLMObjectType)firstObject;

    Swift

    func firstObject() -> RLMObjectType?

    Valor de retorno

    Um objeto do tipo contido na collection de resultados.

  • Retorna o último objeto na collection de resultados.

    Retorna nil se for chamado em uma collection de resultados vazia.

    Declaração

    Objective-C

    - (nullable RLMObjectType)lastObject;

    Swift

    func lastObject() -> RLMObjectType?

    Valor de retorno

    Um objeto do tipo contido na collection de resultados.

Consultando resultados

  • Retorna o índice de um objeto na collection de resultados.

    Retorna NSNotFound se o objeto não for encontrado na collection de resultados.

    Declaração

    Objective-C

    - (NSUInteger)indexOfObject:(nonnull RLMObjectType)object;

    Swift

    func index(of object: RLMObjectType) -> UInt

    Parâmetros

    object

    Um objeto (do mesmo tipo que o retornado do seletor objectClassName ).

  • Retorna o índice do primeiro objeto na collection de resultados que corresponde ao predicado.

    Declaração

    Objective-C

    - (NSUInteger)indexOfObjectWhere:(nonnull NSString *)predicateFormat, ...;

    Parâmetros

    predicateFormat

    Uma string de formato de predicado, opcionalmente seguida por um número variável de argumentos.

    Valor de retorno

    O índice do objeto ou NSNotFound se o objeto não for encontrado na collection de resultados.

  • Retorna o índice do primeiro objeto na collection de resultados que corresponde ao predicado.

    Declaração

    Objective-C

    - (NSUInteger)indexOfObjectWithPredicate:(nonnull NSPredicate *)predicate;

    Swift

    func indexOfObject(with predicate: NSPredicate) -> UInt

    Parâmetros

    predicate

    O predicado com o qual filtrar os objetos.

    Valor de retorno

    O índice do objeto ou NSNotFound se o objeto não for encontrado na collection de resultados.

  • Retorna todos os objetos que correspondem ao predicado fornecido na coleção de resultados.

    Declaração

    Objective-C

    - (nonnull RLMResults<RLMObjectType> *)objectsWhere:
        (nonnull NSString *)predicateFormat, ...;

    Parâmetros

    predicateFormat

    Uma string de formato de predicado, opcionalmente seguida por um número variável de argumentos.

    Valor de retorno

    Um RLMResults de objetos que correspondem ao predicado fornecido.

  • Retorna todos os objetos que correspondem ao predicado fornecido na coleção de resultados.

    Declaração

    Objective-C

    - (nonnull RLMResults<RLMObjectType> *)objectsWithPredicate:
        (nonnull NSPredicate *)predicate;

    Swift

    func objects(with predicate: NSPredicate) -> RLMResults<RLMObjectType>

    Parâmetros

    predicate

    O predicado com o qual filtrar os objetos.

    Valor de retorno

    Um RLMResults de objetos que correspondem ao predicado fornecido.

  • Retorna um RLMResults ordenado a partir de uma collection de resultados existente.

    Declaração

    Objective-C

    - (nonnull RLMResults<RLMObjectType> *)
        sortedResultsUsingKeyPath:(nonnull NSString *)keyPath
                        ascending:(BOOL)ascending;

    Swift

    func sortedResults(usingKeyPath keyPath: String, ascending: Bool) -> RLMResults<RLMObjectType>

    Parâmetros

    keyPath

    O caminho da chave para classificar por.

    ascending

    A direção para classificar.

    Valor de retorno

    Um RLMResults classificado pelo caminho da chave especificado.

  • Retorna um RLMResults ordenado a partir de uma collection de resultados existente.

    Declaração

    Objective-C

    - (nonnull RLMResults<RLMObjectType> *)sortedResultsUsingDescriptors:
        (nonnull NSArray<RLMSortDescriptor *> *)properties;

    Swift

    func sortedResults(using properties: [RLMSortDescriptor]) -> RLMResults<RLMObjectType>

    Parâmetros

    properties

    Uma array de RLMSortDescriptors para classificar.

    Valor de retorno

    Um RLMResults classificado pelas propriedades especificadas.

  • Retorna um RLMResults distinto de uma coleção de resultados existente.

    Declaração

    Objective-C

    - (nonnull RLMResults<RLMObjectType> *)distinctResultsUsingKeyPaths:
        (nonnull NSArray<NSString *> *)keyPaths;

    Swift

    func distinctResults(usingKeyPaths keyPaths: [String]) -> RLMResults<RLMObjectType>

    Parâmetros

    keyPaths

    Os principais caminhos utilizados produzem resultados distintos

    Valor de retorno

    Um RLMResults distinguido com base nos caminhos-chave especificados

Notificações

  • Registra um bloco a ser chamado cada vez que a collection de resultados for alterada.

    O bloco será chamado de forma assíncrona com a collection de resultados iniciais e, em seguida, chamado novamente após cada transação de escrita que altere qualquer um dos objeto nos resultados ou quais objeto estão nos resultados.

    O parâmetro change será nil na primeira vez que o bloco for chamado. Para cada chamada depois disso, ela conterá informações sobre quais linhas na collection de resultados foram adicionadas, removidas ou modificadas. Se uma transação de escrita não modificou nenhum objeto na collection de resultados, o bloqueio não será chamado. Consulte a documentação do RLMCollectionChange para obter informações sobre como as alterações são relatadas e um exemplo de atualização de um UITableView.

    O parâmetro de erro está presente apenas para compatibilidade com versões anteriores e sempre será nil.

    No momento em que o bloco é chamado, o objeto RLMResults será totalmente avaliado e atualizado e, desde que você não execute uma transação de escrita na mesma thread ou chame explicitamente -[RLMRealm refresh], o acesso a ele será nunca realize trabalhos de bloqueio.

    As notificações são entregues por meio do loop de eventos padrão e, portanto, não podem ser entregues enquanto o loop de eventos estiver bloqueado por outra atividade. Quando as notificações não podem ser entregues instantaneamente, várias notificações podem ser agrupadas em uma única notificação. Isso pode incluir a notificação com os resultados iniciais. For example, the following code performs a write transaction immediately after adding the notification block, so there is no opportunity for the initial notification to be delivered first. Como resultado, a notificação inicial refletirá o estado do Realm após a transação de escrita.

    RLMResults<Dog *> *results = [Dog allObjects];
    NSLog(@"dogs.count: %zu", dogs.count); // => 0
    self.token = [results addNotificationBlock:^(RLMResults *dogs,
                                                 RLMCollectionChange *changes,
                                                 NSError *error) {
        // Only fired once for the example
        NSLog(@"dogs.count: %zu", dogs.count); // => 1
    }];
    [realm transactionWithBlock:^{
        Dog *dog = [[Dog alloc] init];
        dog.name = @"Rex";
        [realm addObject:dog];
    }];
    // end of run loop execution context
    

    Você deve reter o token retornado pelo tempo que quiser que as atualizações continuem sendo enviadas ao bloco. Para parar de receber atualizações, ligue para -invalidate no token.

    Aviso

    Este método não pode ser chamado durante uma transação de escrita, ou quando o Realm que o contém for somente leitura.

    Declaração

    Objective-C

    - (nonnull RLMNotificationToken *)addNotificationBlock:
        (nonnull void (^)(RLMResults<RLMObjectType> *_Nullable,
                          RLMCollectionChange *_Nullable, NSError *_Nullable))block;

    Swift

    func addNotificationBlock(_ block: @escaping (RLMResults<RLMObjectType>?, RLMCollectionChange?, (any Error)?) -> Void) -> RLMNotificationToken

    Parâmetros

    block

    O bloco a ser chamado sempre que ocorre uma alteração.

    Valor de retorno

    Um token que deve ser mantido pelo tempo que você quiser que as atualizações sejam entregues.

  • Registra um bloco a ser chamado cada vez que a collection de resultados for alterada.

    O bloco será chamado de forma assíncrona com a collection de resultados iniciais e, em seguida, chamado novamente após cada transação de escrita que altere qualquer um dos objeto nos resultados ou quais objeto estão nos resultados.

    O parâmetro change será nil na primeira vez que o bloco for chamado. Para cada chamada depois disso, ela conterá informações sobre quais linhas na collection de resultados foram adicionadas, removidas ou modificadas. Se uma transação de escrita não modificou nenhum objeto na collection de resultados, o bloqueio não será chamado. Consulte a documentação do RLMCollectionChange para obter informações sobre como as alterações são relatadas e um exemplo de atualização de um UITableView.

    O parâmetro de erro está presente apenas para compatibilidade com versões anteriores e sempre será nil.

    No momento em que o bloco é chamado, o objeto RLMResults será totalmente avaliado e atualizado e, desde que você não execute uma transação de escrita na mesma thread ou chame explicitamente -[RLMRealm refresh], o acesso a ele será nunca realize trabalhos de bloqueio.

    As notificações são entregues na fila fornecida. Se a fila estiver bloqueada e as notificações não puderem ser entregues instantaneamente, várias notificações poderão ser agrupadas em uma única notificação.

    Você deve reter o token retornado pelo tempo que quiser que as atualizações continuem sendo enviadas ao bloco. Para parar de receber atualizações, ligue para -invalidate no token.

    Aviso

    Este método não pode ser chamado quando o Realm que o contém estiver somente para leitura ou congelado.

    Aviso

    A fila deve ser uma fila serial.

    Declaração

    Objective-C

    - (nonnull RLMNotificationToken *)
        addNotificationBlock:(nonnull void (^)(RLMResults<RLMObjectType> *_Nullable,
                                               RLMCollectionChange *_Nullable,
                                               NSError *_Nullable))block
                       queue:(nullable dispatch_queue_t)queue;

    Swift

    func addNotificationBlock(_ block: @escaping (RLMResults<RLMObjectType>?, RLMCollectionChange?, (any Error)?) -> Void, queue: dispatch_queue_t?) -> RLMNotificationToken

    Parâmetros

    block

    O bloco a ser chamado sempre que ocorre uma alteração.

    queue

    A fila em série para a qual entregar notificações.

    Valor de retorno

    Um token que deve ser mantido pelo tempo que você quiser que as atualizações sejam entregues.

  • Registra um bloco a ser chamado cada vez que a collection de resultados for alterada.

    O bloco será chamado de forma assíncrona com a collection de resultados iniciais e, em seguida, chamado novamente após cada transação de escrita que altere qualquer um dos objeto nos resultados ou quais objeto estão nos resultados.

    O parâmetro change será nil na primeira vez que o bloco for chamado. Para cada chamada depois disso, ela conterá informações sobre quais linhas na collection de resultados foram adicionadas, removidas ou modificadas. Se uma transação de escrita não modificou nenhum objeto na collection de resultados, o bloqueio não será chamado. Consulte a documentação do RLMCollectionChange para obter informações sobre como as alterações são relatadas e um exemplo de atualização de um UITableView.

    O parâmetro de erro está presente apenas para compatibilidade com versões anteriores e sempre será nil.

    No momento em que o bloco é chamado, o objeto RLMResults será totalmente avaliado e atualizado e, desde que você não execute uma transação de escrita na mesma thread ou chame explicitamente -[RLMRealm refresh], o acesso a ele será nunca realize trabalhos de bloqueio.

    As notificações são entregues na fila fornecida. Se a fila estiver bloqueada e as notificações não puderem ser entregues instantaneamente, várias notificações poderão ser agrupadas em uma única notificação.

    Você deve reter o token retornado pelo tempo que quiser que as atualizações continuem sendo enviadas ao bloco. Para parar de receber atualizações, ligue para -invalidate no token.

    Aviso

    Este método não pode ser chamado quando o Realm que o contém estiver somente para leitura ou congelado.

    Aviso

    A fila deve ser uma fila serial.

    Declaração

    Objective-C

    - (nonnull RLMNotificationToken *)
        addNotificationBlock:(nonnull void (^)(RLMResults<RLMObjectType> *_Nullable,
                                               RLMCollectionChange *_Nullable,
                                               NSError *_Nullable))block
                    keyPaths:(nullable NSArray<NSString *> *)keyPaths
                       queue:(nullable dispatch_queue_t)queue;

    Swift

    func addNotificationBlock(_ block: @escaping (RLMResults<RLMObjectType>?, RLMCollectionChange?, (any Error)?) -> Void, keyPaths: [String]?, queue: dispatch_queue_t?) -> RLMNotificationToken

    Parâmetros

    block

    O bloco a ser chamado sempre que ocorre uma alteração.

    queue

    A fila em série para a qual entregar notificações.

    keyPaths

    O bloco será chamado para alterações que ocorrem nesses keypaths. Se nenhum caminho de chave for fornecido, notificações serão entregues para cada caminho de chave de propriedade.

    Valor de retorno

    Um token que deve ser mantido pelo tempo que você quiser que as atualizações sejam entregues.

  • Registra um bloco a ser chamado cada vez que a collection de resultados for alterada.

    O bloco será chamado de forma assíncrona com a collection de resultados iniciais e, em seguida, chamado novamente após cada transação de escrita que altere qualquer um dos objeto nos resultados ou quais objeto estão nos resultados.

    O parâmetro change será nil na primeira vez que o bloco for chamado. Para cada chamada depois disso, ela conterá informações sobre quais linhas na collection de resultados foram adicionadas, removidas ou modificadas. Se uma transação de escrita não modificou nenhum objeto na collection de resultados, o bloqueio não será chamado. Consulte a documentação do RLMCollectionChange para obter informações sobre como as alterações são relatadas e um exemplo de atualização de um UITableView.

    O parâmetro de erro está presente apenas para compatibilidade com versões anteriores e sempre será nil.

    No momento em que o bloco é chamado, o objeto RLMResults será totalmente avaliado e atualizado e, desde que você não execute uma transação de escrita na mesma thread ou chame explicitamente -[RLMRealm refresh], o acesso a ele será nunca realize trabalhos de bloqueio.

    As notificações são entregues por meio do loop de eventos padrão e, portanto, não podem ser entregues enquanto o loop de eventos estiver bloqueado por outra atividade. Quando as notificações não podem ser entregues instantaneamente, várias notificações podem ser agrupadas em uma única notificação. Isso pode incluir a notificação com os resultados iniciais. For example, the following code performs a write transaction immediately after adding the notification block, so there is no opportunity for the initial notification to be delivered first. Como resultado, a notificação inicial refletirá o estado do Realm após a transação de escrita.

    Você deve reter o token retornado pelo tempo que quiser que as atualizações continuem sendo enviadas ao bloco. Para parar de receber atualizações, ligue para -invalidate no token.

    Aviso

    Este método não pode ser chamado quando o Realm que o contém estiver somente para leitura ou congelado.

    Aviso

    A fila deve ser uma fila serial.

    Declaração

    Objective-C

    - (nonnull RLMNotificationToken *)
        addNotificationBlock:(nonnull void (^)(RLMResults<RLMObjectType> *_Nullable,
                                               RLMCollectionChange *_Nullable,
                                               NSError *_Nullable))block
                    keyPaths:(nullable NSArray<NSString *> *)keyPaths;

    Swift

    func addNotificationBlock(_ block: @escaping (RLMResults<RLMObjectType>?, RLMCollectionChange?, (any Error)?) -> Void, keyPaths: [String]?) -> RLMNotificationToken

    Parâmetros

    block

    O bloco a ser chamado sempre que ocorre uma alteração.

    keyPaths

    O bloco será chamado para alterações que ocorrem nesses keypaths. Se nenhum caminho de chave for fornecido, notificações serão entregues para cada caminho de chave de propriedade.

    Valor de retorno

    Um token que deve ser mantido pelo tempo que você quiser que as atualizações sejam entregues.

Flexible Sync

  • Cria um RLMSyncSubscription que corresponde ao filtro local do RLMResults.

    Após confirmar a assinatura no conjunto de assinaturas local do domínio, o método aguardará as transferências de acordo com o comportamento do RLMWaitForSyncMode .

    Assinaturas sem nome

    Se subscribeWithCompletion: for chamado sem um nome cuja query corresponda a uma assinatura sem nome, outra assinatura não será criada.

    Se subscribeWithCompletion: for chamado sem um nome cuja query corresponda a uma assinatura nomeada, uma assinatura adicional sem nome será criada.

    Assinaturas nomeadas

    Se subscribeWithCompletion: for chamado com um nome cuja query corresponda a uma assinatura sem nome, uma assinatura nomeada adicional será criada.

    Nome existente e query

    Se subscribeWithCompletion: for chamado com um nome cujo nome é obtido em uma query diferente, a assinatura antiga será atualizada com a nova query.

    Observação

    Esse método abre uma transação de bloco de atualização que cria ou atualiza uma assinatura. É aconselhável não repetir este método para criar várias assinaturas de uma só vez. Isso pode criar um gargalo de desempenho ao abrir várias transação de escrita desnecessárias. @see: [RLMSyncSubscription update:queue:onComplete:] para criar várias assinaturas.

    Aviso

    Esta API está atualmente em Preview e pode estar sujeita a alterações futuras.

    Declaração

    Objective-C

    - (void)subscribeWithCompletionOnQueue:(dispatch_queue_t _Nullable)queue
                                completion:
                                    (nonnull RLMResultsCompletionBlock)completion;

    Swift

    func subscribeWithCompletion(on queue: dispatch_queue_t?) async throws -> RLMResults<AnyObject>

    Parâmetros

    queue

    A fila onde a conclusão é despachada.

    completion

    O bloco de conclusão chamado após a conclusão da assinatura. The callback will wait for downloads according to the value in waitForSyncMode.

  • Cria um RLMSyncSubscription que corresponde ao filtro local do RLMResults.

    Após confirmar a assinatura no conjunto de assinaturas local do domínio, o método aguardará as transferências de acordo com o comportamento do RLMWaitForSyncMode .

    Assinaturas sem nome

    Se subscribeWithCompletion: for chamado sem um nome cuja query corresponda a uma assinatura sem nome, outra assinatura não será criada.

    Se subscribeWithCompletion: for chamado sem um nome cuja query corresponda a uma assinatura nomeada, uma assinatura adicional sem nome será criada.

    Assinaturas nomeadas

    Se subscribeWithCompletion: for chamado com um nome cuja query corresponda a uma assinatura sem nome, uma assinatura nomeada adicional será criada.

    Nome existente e query

    Se subscribeWithCompletion: for chamado com um nome cujo nome é obtido em uma query diferente, a assinatura antiga será atualizada com a nova query.

    Observação

    Esse método abre uma transação de bloco de atualização que cria ou atualiza uma assinatura. É aconselhável não repetir este método para criar várias assinaturas de uma só vez. Isso pode criar um gargalo de desempenho ao abrir várias transação de escrita desnecessárias. @see: [RLMSyncSubscription update:queue:onComplete:] para criar várias assinaturas.

    Aviso

    Esta API está atualmente em Preview e pode estar sujeita a alterações futuras.

    Declaração

    Objective-C

    - (void)subscribeWithName:(NSString *_Nullable)name
                      onQueue:(dispatch_queue_t _Nullable)queue
                   completion:(nonnull RLMResultsCompletionBlock)completion;

    Swift

    func subscribe(withName name: String?, on queue: dispatch_queue_t?) async throws -> RLMResults<AnyObject>

    Parâmetros

    name

    O nome usado para identificar a assinatura.

    queue

    A fila onde a conclusão é despachada.

    completion

    O bloco de conclusão chamado após a conclusão da assinatura. The callback will wait for downloads according to the value in waitForSyncMode.

  • Cria um RLMSyncSubscription que corresponde ao filtro local do RLMResults.

    Após confirmar a assinatura no conjunto de assinaturas local do domínio, o método aguardará os downloads de acordo com o RLMWaitForSyncMode.

    Assinaturas sem nome

    Se subscribeWithCompletion: for chamado sem um nome cuja query corresponda a uma assinatura sem nome, outra assinatura não será criada.

    Se subscribeWithCompletion: for chamado sem um nome cuja query corresponda a uma assinatura nomeada, uma assinatura adicional sem nome será criada.

    Assinaturas nomeadas

    Se subscribeWithCompletion: for chamado com um nome cuja query corresponda a uma assinatura sem nome, uma assinatura nomeada adicional será criada.

    Nome existente e query

    Se subscribeWithCompletion: for chamado com um nome cujo nome é obtido em uma query diferente, a assinatura antiga será atualizada com a nova query.

    Observação

    Esse método abre uma transação de bloco de atualização que cria ou atualiza uma assinatura. É aconselhável não repetir este método para criar várias assinaturas de uma só vez. Isso pode criar um gargalo de desempenho ao abrir várias transação de escrita desnecessárias. @see: [RLMSyncSubscription update:queue:onComplete:] para criar várias assinaturas.

    Aviso

    Esta API está atualmente em Preview e pode estar sujeita a alterações futuras.

    Declaração

    Objective-C

    - (void)subscribeWithName:(NSString *_Nullable)name
                  waitForSync:(RLMWaitForSyncMode)waitForSyncMode
                      onQueue:(dispatch_queue_t _Nullable)queue
                   completion:(nonnull RLMResultsCompletionBlock)completion;

    Swift

    @_unsafeInheritExecutor func subscribe(withName name: String?, waitForSync waitForSyncMode: WaitForSyncMode, on queue: dispatch_queue_t?) async throws -> RLMResults<AnyObject>

    Parâmetros

    name

    O nome usado para identificar a assinatura.

    waitForSyncMode

    Determina quando o manipulador de conclusão é chamado

    queue

    A fila onde a conclusão é despachada.

    completion

    O bloco de conclusão chamado após a conclusão da assinatura. The callback will wait for downloads according to the value in waitForSyncMode.

  • Cria um RLMSyncSubscription que corresponde ao filtro local do RLMResults.

    Após confirmar a assinatura no conjunto de assinaturas local do domínio, o método aguardará os downloads de acordo com o RLMWaitForSyncMode.

    Assinaturas sem nome

    Se subscribeWithCompletion: for chamado sem um nome cuja query corresponda a uma assinatura sem nome, outra assinatura não será criada.

    Se subscribeWithCompletion: for chamado sem um nome cuja query corresponda a uma assinatura nomeada, uma assinatura adicional sem nome será criada.

    Assinaturas nomeadas

    Se subscribeWithCompletion: for chamado com um nome cuja query corresponda a uma assinatura sem nome, uma assinatura nomeada adicional será criada.

    Nome existente e query

    Se subscribeWithCompletion: for chamado com um nome cujo nome é obtido em uma query diferente, a assinatura antiga será atualizada com a nova query.

    Observação

    Esse método abre uma transação de bloco de atualização que cria ou atualiza uma assinatura. É aconselhável não repetir este método para criar várias assinaturas de uma só vez. Isso pode criar um gargalo de desempenho ao abrir várias transação de escrita desnecessárias. @see: [RLMSyncSubscription update:queue:onComplete:] para criar várias assinaturas.

    Aviso

    Esta API está atualmente em Preview e pode estar sujeita a alterações futuras.

    Declaração

    Objective-C

    - (void)subscribeWithName:(NSString *_Nullable)name
                  waitForSync:(RLMWaitForSyncMode)waitForSyncMode
                      onQueue:(dispatch_queue_t _Nullable)queue
                      timeout:(NSTimeInterval)timeout
                   completion:(nonnull RLMResultsCompletionBlock)completion;

    Swift

    @_unsafeInheritExecutor func subscribe(withName name: String?, waitForSync waitForSyncMode: WaitForSyncMode, on queue: dispatch_queue_t?, timeout: TimeInterval) async throws -> RLMResults<AnyObject>

    Parâmetros

    name

    O nome usado para identificar a assinatura.

    waitForSyncMode

    Determina quando o manipulador de conclusão é chamado

    queue

    A fila onde a conclusão é despachada.

    timeout

    Um tempo limite que termina aguardando downloads por meio do manipulador de conclusão. Se o tempo limite for excedido, o manipulador de conclusão retornará um erro.

    completion

    O bloco de conclusão chamado após a conclusão da assinatura. The callback will wait for downloads according to the value in waitForSyncMode.

  • Remove uma RLMSubscription que corresponde ao filtro local do RLMResults.

    O método retorna após confirmar a remoção de assinatura no conjunto de assinatura local do domínio. Chamar esse método não esperará que o objeto seja removido do Realm.

    Chamar o cancelamento de assinatura em um RLMResults não remove o filtro local do RLMResults. Depois de chamar o cancelamento de assinatura, o RLMResults ainda pode conter objetos porque outras assinaturas podem existir no conjunto de assinaturas do RLMRealm.

    Observação

    Para que uma assinatura nomeada seja removida, o RLMResults deve ter criado a assinatura anteriormente. O RLMResults retornado no bloco de conclusão ao chamar subscribe pode ser usado para cancelar a assinatura da mesma assinatura.

    Observação

    Esse método abre uma transação de bloco de atualização que cria ou atualiza uma assinatura. É aconselhável não repetir este método para criar várias assinaturas de uma só vez. Isso pode criar um gargalo de desempenho ao abrir várias transação de escrita desnecessárias. @see: [RLMSyncSubscription update:queue:onComplete:] para criar várias assinaturas.

    Aviso

    Esta API está atualmente em Preview e pode estar sujeita a alterações futuras.

    Declaração

    Objective-C

    - (void)unsubscribe;

    Swift

    func unsubscribe()

Agregando valores de propriedade

  • Retorna o valor mínimo (mais baixo) da propriedade fornecida entre todos os objeto representados pela collection de resultados.

    NSNumber *min = [results minOfProperty:@"age"];
    

    Aviso

    Você não pode usar este método nas propriedades RLMObject, RLMArray e NSData .

    Declaração

    Objective-C

    - (nullable id)minOfProperty:(nonnull NSString *)property;

    Swift

    func min(ofProperty property: String) -> Any?

    Parâmetros

    property

    A propriedade cujo valor mínimo é desejado. Somente propriedades dos tipos int, float, double e NSDate são suportadas.

    Valor de retorno

    O valor mínimo da propriedade ou nil se os resultados estiverem vazios.

  • Retorna o valor máximo (mais alto) da propriedade fornecida entre todos os objetos representados pela coleção de resultados.

    NSNumber *max = [results maxOfProperty:@"age"];
    

    Aviso

    Você não pode usar este método nas propriedades RLMObject, RLMArray e NSData .

    Declaração

    Objective-C

    - (nullable id)maxOfProperty:(nonnull NSString *)property;

    Swift

    func max(ofProperty property: String) -> Any?

    Parâmetros

    property

    A propriedade cujo valor máximo é desejado. Somente propriedades dos tipos int, float, double e NSDate são suportadas.

    Valor de retorno

    O valor máximo da propriedade ou nil se os Resultados estiverem vazios.

  • Retorna a soma dos valores de uma determinada propriedade sobre todos os objeto representados pela collection de resultados.

    NSNumber *sum = [results sumOfProperty:@"age"];
    

    Aviso

    Você não pode usar este método nas propriedades RLMObject, RLMArray e NSData .

    Declaração

    Objective-C

    - (nonnull NSNumber *)sumOfProperty:(nonnull NSString *)property;

    Swift

    func sum(ofProperty property: String) -> NSNumber

    Parâmetros

    property

    A propriedade cujos valores devem ser somados. Somente propriedades dos tipos int, float e double são suportadas.

    Valor de retorno

    A soma da propriedade fornecida.

  • Retorna o valor médio de uma determinada propriedade sobre os objeto representados pela collection de resultados.

    NSNumber *average = [results averageOfProperty:@"age"];
    

    Aviso

    Você não pode usar este método nas propriedades RLMObject, RLMArray e NSData .

    Declaração

    Objective-C

    - (nullable NSNumber *)averageOfProperty:(nonnull NSString *)property;

    Swift

    func average(ofProperty property: String) -> NSNumber?

    Parâmetros

    property

    A propriedade cujo valor médio deve ser calculado. Somente propriedades dos tipos int, float e double são suportadas.

    Valor de retorno

    O valor médio da propriedade fornecida ou nil se os resultados estiverem vazios.

Resultados seccionados

Congelar

  • Indica se o resultado está congelado.

    Os resultados congelados são imutáveis e podem ser acessados de qualquer thread.Os objetos lidos de um resultado congelado também serão congelados.

    Declaração

    Objective-C

    @property (nonatomic, readonly, getter=isFrozen) BOOL frozen;

    Swift

    var isFrozen: Bool { get }
  • Retorna um snapshot congelado (imutável) desses resultados.

    A cópia congelada é uma collection imutável que contém os mesmos dados que esta collection contém atualmente, mas não será atualizada quando forem feitas gravações no Realm que a contém. Ao contrário dos resultados ao vivo, os resultados congelados podem ser acessados de qualquer thread.

    Aviso

    Este método não pode ser chamado durante uma transação de escrita, ou quando o Realm que o contém for somente leitura.

    Aviso

    Manter uma collection congelada por um longo período enquanto executa transação de escrita no Realm pode fazer com que o Arquivo de Realm cresça para tamanhos grandes. Consulte RLMRealmConfiguration.maximumNumberOfActiveVersions para obter mais informações.

    Declaração

    Objective-C

    - (nonnull instancetype)freeze;

    Swift

    func freeze() -> Self
  • Retorna uma versão ativa dessa collection congelada.

    Esse método resolve uma referência a uma cópia ativa da mesma collection congelada. Se for chamado em uma coleção ativa, retornará a si mesmo.

    Declaração

    Objective-C

    - (nonnull instancetype)thaw;

    Swift

    func thaw() -> Self

Métodos indisponíveis

  • Indisponível

    O RLMResults não pode ser criado diretamente

    -[RLMResults init] não está disponível porque RLMResults não pode ser criado diretamente. RLMResults pode ser obtido consultando um Realm.

    Declaração

    Objective-C

    - (nonnull instancetype)init;
  • Indisponível

    O RLMResults não pode ser criado diretamente

    +[RLMResults new] não está disponível porque RLMResults não pode ser criado diretamente. RLMResults pode ser obtido consultando um Realm.

    Declaração

    Objective-C

    + (nonnull instancetype)new;