Enumerações

As seguintes enumerações estão disponíveis globalmente.

Editores

  • Combine editores para tipos de Realm.

    Normalmente, você não deve criar nenhum desses tipos diretamente e, em vez disso, deve usar os métodos de extensão que os criam.

    Veja mais

    Declaração

    Swift

    @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
    public enum RealmPublishers

Notificações

  • Um valor RealmMapChange encapsula informações sobre alterações em dicionários que são relatadas pelas notificações do Realm.

    Veja mais

    Declaração

    Swift

    @frozen
    public enum RealmMapChange<Collection> where Collection : RealmKeyedCollection
  • Informações sobre as alterações feitas em um objeto que é passado para os blocos de notificação de Object .

    Veja mais

    Declaração

    Swift

    @frozen
    public enum ObjectChange<T>
  • Um valor RealmCollectionChange encapsula informações sobre alterações na collection que são relatadas pelas notificações do Realm.

    As informações de alteração estão disponíveis em dois formatos: uma array simples de índices de linha na collection para cada tipo de alteração e uma array de caminhos de índice em uma seção solicitada adequada para passar diretamente para os métodos de atualização em lote do UITableView .

    As arrays de índices no caso .update seguem as convenções em lote do UITableViewe podem ser passadas como estão para as funções de atualização em lote de uma visualização de tabela após serem convertidas em caminhos de índice. Por exemplo, para uma visualização de tabela de seção simples, você pode fazer o seguinte:

    self.notificationToken = results.observe { changes in
        switch changes {
        case .initial:
            // Results are now populated and can be accessed without blocking the UI
            self.tableView.reloadData()
            break
        case .update(_, let deletions, let insertions, let modifications):
            // Query results have changed, so apply them to the TableView
            self.tableView.beginUpdates()
            self.tableView.insertRows(at: insertions.map { IndexPath(row: $0, section: 0) },
               with: .automatic)
            self.tableView.deleteRows(at: deletions.map { IndexPath(row: $0, section: 0) },
               with: .automatic)
            self.tableView.reloadRows(at: modifications.map { IndexPath(row: $0, section: 0) },
               with: .automatic)
            self.tableView.endUpdates()
            break
        case .error(let err):
            // An error occurred while opening the Realm file on the background worker thread
            fatalError("\(err)")
            break
        }
    }
    
    Veja mais

    Declaração

    Swift

    @frozen
    public enum RealmCollectionChange<CollectionType>
  • Um valor SectionedResultsChange encapsula informações sobre alterações em resultados seccionados que são relatados pelas notificações do Realm.

    Na primeira vez que uma notificação for entregue, ela será .initial, e todas as notificações subsequentes serão .change() com informações sobre o que mudou desde a última vez que a chamada de resposta foi invocada. }

    Veja mais

    Declaração

    Swift

    @frozen
    public enum SectionedResultsChange<Collection>