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.
-
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
setype
não for RLMPropertyTypeObject.Declaração
Objective-C
@property (nonatomic, copy, readonly, nullable) NSString *objectClassName;
Swift
var objectClassName: String? { get }
-
Indica se a collection de resultados não é mais válida.
A collection de resultados torna-se inválida se
invalidate
for chamado norealm
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 }
-
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.
-
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
RLMSortDescriptor
s 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
-
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 doRLMCollectionChange
para obter informações sobre como as alterações são relatadas e um exemplo de atualização de umUITableView
.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 doRLMCollectionChange
para obter informações sobre como as alterações são relatadas e um exemplo de atualização de umUITableView
.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 doRLMCollectionChange
para obter informações sobre como as alterações são relatadas e um exemplo de atualização de umUITableView
.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 doRLMCollectionChange
para obter informações sobre como as alterações são relatadas e um exemplo de atualização de umUITableView
.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.
-
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.Veja
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.Veja
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.Veja
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.Veja
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 chamarsubscribe
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()
-
Retorna o valor mínimo (mais baixo) da propriedade fornecida entre todos os objeto representados pela collection de resultados.
NSNumber *min = [results minOfProperty:@"age"];
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
eNSDate
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"];
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
eNSDate
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"];
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
edouble
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"];
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
edouble
são suportadas.Valor de retorno
O valor médio da propriedade fornecida ou
nil
se os resultados estiverem vazios.
-
Classifica e seciona esta collection a partir de um determinado caminho de chave de propriedade, retornando o resultado como uma instância de
RLMSectionedResults
.Declaração
Objective-C
- (nonnull RLMSectionedResults *) sectionedResultsSortedUsingKeyPath:(nonnull NSString *)keyPath ascending:(BOOL)ascending keyBlock: (nonnull RLMSectionedResultsKeyBlock)keyBlock;
Swift
func sectionedResultsSorted(usingKeyPath keyPath: String, ascending: Bool, keyBlock: @escaping RLMSectionedResultsKeyBlock) -> RLMSectionedResults
Parâmetros
keyPath
O caminho da chave de propriedade para classificar.
ascending
A direção para classificar.
keyBlock
Uma chamada de resposta invocada em cada elemento na collection Results. Esta chamada de resposta é para retornar a chave de seção para o elemento na collection.
Valor de retorno
Uma instância de RLMSectionedResults.
-
Classifica e seciona esta collection a partir de uma determinada array de descritores de classificação, retornando o resultado como uma instância de
RLMSectionedResults
.Observação
O descritor de classificação primária deve ser responsável por determinar a chave de seção.
Declaração
Objective-C
- (nonnull RLMSectionedResults *) sectionedResultsUsingSortDescriptors: (nonnull NSArray<RLMSortDescriptor *> *)sortDescriptors keyBlock:(nonnull RLMSectionedResultsKeyBlock) keyBlock;
Swift
func sectionedResults(using sortDescriptors: [RLMSortDescriptor], keyBlock: @escaping RLMSectionedResultsKeyBlock) -> RLMSectionedResults
Parâmetros
sortDescriptors
Uma array de
RLMSortDescriptor
s para classificar.keyBlock
Uma chamada de resposta invocada em cada elemento na collection Results. Esta chamada de resposta é para retornar a chave de seção para o elemento na collection.
Valor de retorno
Uma instância de RLMSectionedResults.
-
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. ConsulteRLMRealmConfiguration.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
-
Indisponível
O RLMResults não pode ser criado diretamente
-[RLMResults init]
não está disponível porqueRLMResults
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 porqueRLMResults
não pode ser criado diretamente.RLMResults
pode ser obtido consultando um Realm.Declaração
Objective-C
+ (nonnull instancetype)new;