Enums

The following enums are available globally.

  • Information about the changes made to an object which is passed to `Object’s notification blocks.

    See more

    Declaration

    Swift

    public enum ObjectChange
  • A RealmCollectionChange value encapsulates information about changes to collections that are reported by Realm notifications.

    The change information is available in two formats: a simple array of row indices in the collection for each type of change, and an array of index paths in a requested section suitable for passing directly to UITableView’s batch update methods.

    The arrays of indices in the .Update case follow UITableView’s batching conventions, and can be passed as-is to a table view’s batch update functions after being converted to index paths. For example, for a simple one-section table view, you can do the following:

    self.notificationToken = results.addNotificationBlock { 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.insertRowsAtIndexPaths(insertions.map { NSIndexPath(forRow: $0, inSection: 0) },
               withRowAnimation: .Automatic)
            self.tableView.deleteRowsAtIndexPaths(deletions.map { NSIndexPath(forRow: $0, inSection: 0) },
               withRowAnimation: .Automatic)
            self.tableView.reloadRowsAtIndexPaths(modifications.map { NSIndexPath(forRow: $0, inSection: 0) },
               withRowAnimation: .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
        }
    }
    
    See more

    Declaration

    Swift

    public enum RealmCollectionChange<T>