RLMArray
Objective-C
@interface RLMArray<RLMObjectType> : NSObject <RLMCollection>
Swift
@_nonSendable(_assumed) class RLMArray<RLMObjectType> : NSObject, RLMCollection where RLMObjectType : AnyObject
RLMArray
é o tipo de container no Realm usado para definir relacionamento para muitos.
Ao contrário de um NSArray
, os RLMArray
s 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;
RLMArray
s podem ser consultados com os mesmos predicados que RLMObject
e RLMResult
s.
RLMArray
Os s não podem ser criados diretamente. As propriedades de RLMArray
em RLMObject
s são criadas preguiçosamente quando acessadas ou podem ser obtidas consultando um Realm.
Observação de valor-chave
RLMArray
suporta a observação de valores-chave de 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
(RLMArray
s em RLMObject
s não managed nunca serão invalidados).
Como RLMArray
s estão anexados ao objeto do qual são uma propriedade, eles não exigem o uso dos objeto proxy da collection mutáveis de -mutableArrayValueForKey:
ou de métodos de mutação compatíveis com KVC no objeto que os contém. Em vez disso, você pode chamar os métodos de mutação no RLMArray
diretamente.
-
O número de objetos na array.
Declaração
Objective-C
@property (nonatomic, readonly) NSUInteger count;
Swift
var count: UInt { get }
-
O tipo dos objetos na array.
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, readonly, getter=isOptional) BOOL optional;
Swift
var isOptional: Bool { get }
-
O nome da classe dos objetos contidos na array.
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 array não pode mais ser acessada.
Declaração
Objective-C
@property (nonatomic, readonly, getter=isInvalidated) BOOL invalidated;
Swift
var isInvalidated: Bool { get }
-
Indica se a array está congelada.
As arrays congeladas são imutáveis e podem ser acessadas de qualquer thread. As arrays congeladas são criadas chamando
-freeze
em uma array ativa managed. Arrays não gerenciadas nunca são congeladas.Declaração
Objective-C
@property (nonatomic, readonly, getter=isFrozen) BOOL frozen;
Swift
var isFrozen: 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 array.
-
Retorna uma matriz contendo os objetos na matriz 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 na array da qual recuperar objetos.
Valor de retorno
Os objetos nos índices especificados.
-
Retorna o primeiro objeto na array.
Retorna
nil
se for chamado em uma array vazia.Declaração
Objective-C
- (nullable RLMObjectType)firstObject;
Swift
func firstObject() -> RLMObjectType?
Valor de retorno
Um objeto do tipo contido na array.
-
Retorna o último objeto da array.
Retorna
nil
se for chamado em uma array vazia.Declaração
Objective-C
- (nullable RLMObjectType)lastObject;
Swift
func lastObject() -> RLMObjectType?
Valor de retorno
Um objeto do tipo contido na array.
-
Adiciona um objeto ao final da array.
Aviso
Este método só pode ser chamado durante uma transação de escrita.
Declaração
Objective-C
- (void)addObject:(nonnull RLMObjectType)object;
Swift
func add(_ object: RLMObjectType)
Parâmetros
object
Um objeto do tipo contido na array.
-
Adiciona uma matriz de objetos ao final da matriz.
Aviso
Este método só pode ser chamado durante uma transação de escrita.
Declaração
Objective-C
- (void)addObjects:(nonnull id<NSFastEnumeration>)objects;
Swift
func addObjects(_ objects: any NSFastEnumeration)
Parâmetros
objects
Um objeto enumerável como
NSArray
ouRLMResults
que contém objetos da mesma classe que a array. -
Insere um objeto no índice fornecido.
Lança uma exceção se o índice exceder os limites da array.
Aviso
Este método só pode ser chamado durante uma transação de escrita.
Declaração
Objective-C
- (void)insertObject:(nonnull RLMObjectType)anObject atIndex:(NSUInteger)index;
Swift
func insert(_ anObject: RLMObjectType, at index: UInt)
Parâmetros
anObject
Um objeto do tipo contido na array.
index
O índice no qual inserir o objeto.
-
Remove um objeto no índice fornecido.
Lança uma exceção se o índice exceder os limites da array.
Aviso
Este método só pode ser chamado durante uma transação de escrita.
Declaração
Objective-C
- (void)removeObjectAtIndex:(NSUInteger)index;
Swift
func removeObject(at index: UInt)
Parâmetros
index
O índice da array que identifica o objeto a ser removido.
-
Remove o último objeto da array.
Este é um no-op se a array já estiver vazia.
Aviso
Este método só pode ser chamado durante uma transação de escrita.Declaração
Objective-C
- (void)removeLastObject;
Swift
func removeLastObject()
-
Remove todos os objetos da array.
Aviso
Este método só pode ser chamado durante uma transação de escrita.Declaração
Objective-C
- (void)removeAllObjects;
Swift
func removeAllObjects()
-
Substitui um objeto no índice fornecido por um novo objeto.
Lança uma exceção se o índice exceder os limites da array.
Aviso
Este método só pode ser chamado durante uma transação de escrita.
Declaração
Objective-C
- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(nonnull RLMObjectType)anObject;
Swift
func replaceObject(at index: UInt, with anObject: RLMObjectType)
Parâmetros
index
O índice do objeto a ser substituído.
anObject
Um objeto (do mesmo tipo que o retornado do seletor
objectClassName
). -
Move o objeto no índice de origem fornecido para o índice de destino fornecido.
Lança uma exceção se o índice exceder os limites da array.
Aviso
Este método só pode ser chamado durante uma transação de escrita.
Declaração
Objective-C
- (void)moveObjectAtIndex:(NSUInteger)sourceIndex toIndex:(NSUInteger)destinationIndex;
Swift
func moveObject(at sourceIndex: UInt, to destinationIndex: UInt)
Parâmetros
sourceIndex
O índice do objeto a ser movido.
destinationIndex
O índice para o qual o objeto em
sourceIndex
deve ser movido. -
Troca os objetos na array em determinados índices.
Lança uma exceção se um dos índices exceder os limites da array.
Aviso
Este método só pode ser chamado durante uma transação de escrita.
Declaração
Objective-C
- (void)exchangeObjectAtIndex:(NSUInteger)index1 withObjectAtIndex:(NSUInteger)index2;
Swift
func exchangeObject(at index1: UInt, withObjectAt index2: UInt)
Parâmetros
index1
O índice do objeto que deve substituir o objeto no índice
index2
.index2
O índice do objeto que deve substituir o objeto no índice
index1
.
-
Retorna o índice de um objeto na array.
Retorna
NSNotFound
se o objeto não for encontrado na array.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 array 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 array. -
Retorna o índice do primeiro objeto na array 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 array. -
Retorna todos os objetos que correspondem ao predicado fornecido na array.
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 array.
Declaração
Objective-C
- (nonnull RLMResults<RLMObjectType> *)objectsWithPredicate: (nonnull NSPredicate *)predicate;
Swift
func objects(with predicate: NSPredicate) -> RLMResults
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
classificado da array.Declaração
Objective-C
- (nonnull RLMResults<RLMObjectType> *) sortedResultsUsingKeyPath:(nonnull NSString *)keyPath ascending:(BOOL)ascending;
Swift
func sortedResults(usingKeyPath keyPath: String, ascending: Bool) -> RLMResults
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
classificado da array.Declaração
Objective-C
- (nonnull RLMResults<RLMObjectType> *)sortedResultsUsingDescriptors: (nonnull NSArray<RLMSortDescriptor *> *)properties;
Swift
func sortedResults(using properties: [RLMSortDescriptor]) -> RLMResults
Parâmetros
properties
Uma array de
RLMSortDescriptor
s para classificar.Valor de retorno
Um
RLMResults
classificado pelas propriedades especificadas. -
Retorna um
RLMResults
distinto da array.Declaração
Objective-C
- (nonnull RLMResults<RLMObjectType> *)distinctResultsUsingKeyPaths: (nonnull NSArray<NSString *> *)keyPaths;
Swift
func distinctResults(usingKeyPaths keyPaths: [String]) -> RLMResults
Parâmetros
keyPaths
Os principais caminhos para distinguir.
Valor de retorno
Um
RLMResults
com os valores distintos do(s) caminho(s) chave(s).
-
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.
-
Registra um bloco a ser chamado cada vez que a array for alterada.
O bloco será chamado de forma assíncrona com o objeto inicial e, em seguida, chamado novamente após cada transação de escrita que altere qualquer um dos objeto do objeto, quais objeto estão nos resultados ou a ordem dos objeto no objeto.
O parâmetro
changes
seránil
na primeira vez que o bloco for chamado. Para cada chamada posterior, ela conterá informações sobre quais linhas da array foram adicionadas, removidas ou modificadas. Se uma transação de escrita não modificou nenhum objeto na array, o bloco 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
.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.
Person *person = [[Person allObjectsInRealm:realm] firstObject]; NSLog(@"person.dogs.count: %zu", person.dogs.count); // => 0 self.token = [person.dogs addNotificationBlock(RLMArray<Dog *> *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"; [person.dogs 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.Aviso
Este método só pode ser chamado em uma managed array não congelada.
Declaração
Objective-C
- (nonnull RLMNotificationToken *)addNotificationBlock: (nonnull void (^)(RLMArray<RLMObjectType> *_Nullable, RLMCollectionChange *_Nullable, NSError *_Nullable))block;
Swift
func addNotificationBlock(_ block: @escaping (RLMArray<RLMObjectType>?, RLMCollectionChange?, (any Error)?) -> Void) -> RLMNotificationToken
Parâmetros
block
O bloco a ser chamado cada vez que a array muda.
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 array for alterada.
O bloco será chamado de forma assíncrona com o objeto inicial e, em seguida, chamado novamente após cada transação de escrita que altere qualquer um dos objeto do objeto, quais objeto estão nos resultados ou a ordem dos objeto no objeto.
O parâmetro
changes
seránil
na primeira vez que o bloco for chamado. Para cada chamada posterior, ela conterá informações sobre quais linhas da array foram adicionadas, removidas ou modificadas. Se uma transação de escrita não modificou nenhum objeto na array, o bloco 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
.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 (^)(RLMArray<RLMObjectType> *_Nullable, RLMCollectionChange *_Nullable, NSError *_Nullable))block queue:(nullable dispatch_queue_t)queue;
Swift
func addNotificationBlock(_ block: @escaping (RLMArray<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 array for alterada.
O bloco será chamado de forma assíncrona com o objeto inicial e, em seguida, chamado novamente após cada transação de escrita que altere qualquer um dos objeto do objeto, quais objeto estão nos resultados ou a ordem dos objeto no objeto.
O parâmetro
changes
seránil
na primeira vez que o bloco for chamado. Para cada chamada posterior, ela conterá informações sobre quais linhas da array foram adicionadas, removidas ou modificadas. Se uma transação de escrita não modificou nenhum objeto na array, o bloco 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
.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 (^)(RLMArray<RLMObjectType> *_Nullable, RLMCollectionChange *_Nullable, NSError *_Nullable))block keyPaths:(nullable NSArray<NSString *> *)keyPaths queue:(nullable dispatch_queue_t)queue;
Swift
func addNotificationBlock(_ block: @escaping (RLMArray<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.
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.
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 array for alterada.
O bloco será chamado de forma assíncrona com o objeto inicial e, em seguida, chamado novamente após cada transação de escrita que altere qualquer um dos objeto do objeto, quais objeto estão nos resultados ou a ordem dos objeto no objeto.
O parâmetro
changes
seránil
na primeira vez que o bloco for chamado. Para cada chamada posterior, ela conterá informações sobre quais linhas da array foram adicionadas, removidas ou modificadas. Se uma transação de escrita não modificou nenhum objeto na array, o bloco 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
.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 (^)(RLMArray<RLMObjectType> *_Nullable, RLMCollectionChange *_Nullable, NSError *_Nullable))block keyPaths:(nullable NSArray<NSString *> *)keyPaths;
Swift
func addNotificationBlock(_ block: @escaping (RLMArray<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.
-
Retorna o valor mínimo (mais baixo) da propriedade fornecida entre todos os objetos na array.
NSNumber *min = [object.arrayProperty minOfProperty:@"age"];
Aviso
Você não pode usar este método nas propriedades
RLMObject
,RLMArray
eNSData
.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 a array estiver vazia. -
Retorna o valor máximo (mais alto) de determinada propriedade entre todos os objetos na array.
NSNumber *max = [object.arrayProperty maxOfProperty:@"age"];
Aviso
Você não pode usar este método nas propriedades
RLMObject
,RLMArray
eNSData
.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 a array estiver vazia. -
Retorna a soma dos valores de uma determinada propriedade sobre todos os objetos na array.
NSNumber *sum = [object.arrayProperty sumOfProperty:@"age"];
Aviso
Você não pode usar este método nas propriedades
RLMObject
,RLMArray
eNSData
.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 objetos na array.
NSNumber *average = [object.arrayProperty averageOfProperty:@"age"];
Aviso
Você não pode usar este método nas propriedades
RLMObject
,RLMArray
eNSData
.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 a array estiver vazia.
-
Retorna um snapshot congelado (imutável) dessa array.
A cópia congelada é uma array imutável que contém os mesmos dados que essa array contém atualmente, mas não será atualizada quando forem feitas gravações no Realm que a contém. Ao contrário das arrays ativas, as arrays congeladas podem ser acessadas 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
Este método só pode ser chamado em uma array managed.Aviso
Manter uma array congelada por um longo período enquanto executa a 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
Os RLMArrays não podem ser criados diretamente
-[RLMArray init]
não está disponível porqueRLMArray
s não pode ser criado diretamente. As propriedadesRLMArray
emRLMObject
s são criadas preguiçosamente quando acessadas.Declaração
Objective-C
- (nonnull instancetype)init;
-
Indisponível
Os RLMArrays não podem ser criados diretamente
+[RLMArray new]
não está disponível porqueRLMArray
s não pode ser criado diretamente. As propriedadesRLMArray
emRLMObject
s são criadas preguiçosamente quando acessadas.Declaração
Objective-C
+ (nonnull instancetype)new;