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 RLMArrays contêm um único tipo, especificado pela propriedade objectClassName . Isso é chamado nesses Docs de "tipo" da array.

Ao declarar uma propriedade RLMArray , o tipo deve ser marcado como em conformidade com um protocolo com o mesmo nome dos objetos que ele deve conter (consulte a macro RLM_COLLECTION_TYPE ). Além disso, a propriedade pode ser declarada usando genéricos Objective-C para melhor segurança do tipo em tempo de compilação.

RLM_COLLECTION_TYPE(ObjectType)
...
@property RLMArray<ObjectType *><ObjectType> *arrayOfObjectTypes;

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

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

Observação de valor-chave

RLMArray suporta a observação de valores-chave de array RLMArray em propriedade em RLMObject subclasses e a invalidated propriedade em RLMArray si é compatível com a observação de valores-chave quando RLMArray está anexado a um managed RLMObject (RLMArrays em RLMObjects não managed nunca serão invalidados).

Como RLMArrays estão anexados ao objeto do qual são uma propriedade, eles não exigem o uso dos objeto proxy da collection mutáveis de -mutableArrayValueForKey: ou de métodos de mutação compatíveis com KVC no objeto que os contém. Em vez disso, você pode chamar os métodos de mutação no RLMArray diretamente.

Propriedades

  • 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 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 a array. Retorna nil para arrays não gerenciadas.

    Declaração

    Objective-C

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

    Swift

    var realm: RLMRealm? { 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 }

Acessando objetos de uma array

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

Adicionar, remover e substituir objetos em um 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 ou RLMResults 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.

Consultando uma matriz

  • 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 RLMSortDescriptors 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).

Seccionando uma array

Notificações

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

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

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

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

    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.

Agregando valores de propriedade

  • 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 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 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 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 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 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 objetos na array.

    NSNumber *average = [object.arrayProperty 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 a array estiver vazia.

Congelar

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

    Os RLMArrays não podem ser criados diretamente

    -[RLMArray init] não está disponível porque RLMArrays não pode ser criado diretamente. As propriedades RLMArray em RLMObjects 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 porque RLMArrays não pode ser criado diretamente. As propriedades RLMArray em RLMObjects são criadas preguiçosamente quando acessadas.

    Declaração

    Objective-C

    + (nonnull instancetype)new;