Enums

The following enums are available globally.

  • Error is an enum representing all recoverable errors. It is associated with the Realm error domain specified in RLMErrorDomain.

    Error is a Swift ErrorType:

    let realm: Realm?
    do {
        realm = try Realm()
    } catch RealmSwift.Error.IncompatibleLockFile() {
        print("Incompatible lock file. The Realm Browser app might be attached to a Realm on the device.")
    }
    
    See more

    Declaration

    Swift

    public enum Error: ErrorType
  • 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>