Type Aliases

The following type aliases are available globally.

Aliases

  • PropertyType is an enum describing all property types supported in Realm models.

    For more information, see Realm Models.

    Primitive types

    • Int
    • Bool
    • Float
    • Double

    Object types

    Relationships: Array (in Swift, List) and Object types

    Declaration

    Swift

    public typealias PropertyType = RLMPropertyType
  • An opaque token which is returned from methods which subscribe to changes to a Realm.

    Declaration

    Swift

    public typealias NotificationToken = RLMNotificationToken
  • An object representing the Realm App configuration

    See

    RLMAppConfiguration

    Declaration

    Swift

    public typealias AppConfiguration = RLMAppConfiguration
  • An object representing a client which performs network calls on Realm Cloud user api keys

    See

    RLMAPIKeyAuth

    Declaration

    Swift

    public typealias APIKeyAuth = RLMAPIKeyAuth
  • An object representing a client which performs network calls on Realm Cloud user registration & password functions

    See

    RLMEmailPasswordAuth

    Declaration

    Swift

    public typealias EmailPasswordAuth = RLMEmailPasswordAuth
  • A block type used to report an error

    Declaration

    Swift

    public typealias EmailPasswordAuthOptionalErrorBlock = RLMEmailPasswordAuthOptionalErrorBlock
  • An object representing a client which performs network calls on Realm Cloud for registering devices to push notifications

    See

    see RLMPushClient

    Declaration

    Swift

    public typealias PushClient = RLMPushClient
  • An object which is used within UserAPIKeyProviderClient

    Declaration

    Swift

    public typealias UserAPIKey = RLMUserAPIKey
  • App

    The App has the fundamental set of methods for communicating with a Realm application backend. This interface provides access to login and authentication.

    Declaration

    Swift

    public typealias App = RLMApp
  • Use this delegate to be provided a callback once authentication has succeed or failed

    Declaration

    Swift

    @available(macOS 10.15, watchOS 6.0, iOS 13.0, iOSApplicationExtension 13.0, macOSApplicationExtension 10.15, tvOS 13.0, *)
    public typealias ASLoginDelegate = RLMASLoginDelegate
  • A Dictionary object representing a BSON document.

    Declaration

    Swift

    public typealias Document = Dictionary<String, AnyBSON?>
  • MaxKey will always be the greatest value when comparing to other BSON types

    Declaration

    Swift

    public typealias MaxKey = RLMMaxKey
  • MinKey will always be the smallest value when comparing to other BSON types

    Declaration

    Swift

    public typealias MinKey = RLMMinKey
  • Object is a class used to define Realm model objects.

    In Realm you define your model classes by subclassing Object and adding properties to be managed. You then instantiate and use your custom subclasses instead of using the Object class directly.

    class Dog: Object {
        @objc dynamic var name: String = ""
        @objc dynamic var adopted: Bool = false
        let siblings = List<Dog>()
    }
    

    Supported property types

    • String, NSString
    • Int
    • Int8, Int16, Int32, Int64
    • Float
    • Double
    • Bool
    • Date, NSDate
    • Data, NSData
    • Decimal128
    • ObjectId
    • UUID
    • @objc enum which has been delcared as conforming to RealmEnum.
    • RealmOptional<Value> for optional numeric properties
    • Object subclasses, to model many-to-one relationships
    • EmbeddedObject subclasses, to model owning one-to-one relationships
    • List<Element>, to model many-to-many relationships

    String, NSString, Date, NSDate, Data, NSData, UUID, NSUUID, Decimal128 and ObjectId properties can be declared as optional. Object and EmbeddedObject subclasses must be declared as optional. Int, Int8, Int16, Int32, Int64, Float, Double, Bool, enum, and List properties cannot. To store an optional number, use RealmOptional<Int>, RealmOptional<Float>, RealmOptional<Double>, or RealmOptional<Bool> instead, which wraps an optional numeric value. Lists cannot be optional at all.

    All property types except for List and RealmOptional must be declared as @objc dynamic var. List and RealmOptional properties must be declared as non-dynamic let properties. Swift lazy properties are not allowed.

    Note that none of the restrictions listed above apply to properties that are configured to be ignored by Realm.

    Querying

    You can retrieve all objects of a given type from a Realm by calling the objects(_:) instance method.

    Relationships

    See our Cocoa guide for more details.

    Declaration

    Swift

    public typealias Object = RealmSwiftObject
  • EmbeddedObject is a base class used to define embedded Realm model objects.

    Embedded objects work similarly to normal objects, but are owned by a single parent Object (which itself may be embedded). Unlike normal top-level objects, embedded objects cannot be directly created in or added to a Realm. Instead, they can only be created as part of a parent object, or by assigning an unmanaged object to a parent object’s property. Embedded objects are automatically deleted when the parent object is deleted or when the parent is modified to no longer point at the embedded object, either by reassigning an Object property or by removing the embedded object from the List containing it.

    Embedded objects can only ever have a single parent object which links to them, and attempting to link to an existing managed embedded object will throw an exception.

    The property types supported on EmbeddedObject are the same as for Object, except for that embedded objects cannot link to top-level objects, so Object and List<Object> properties are not supported (EmbeddedObject and List<EmbeddedObject> are).

    Embedded objects cannot have primary keys or indexed properties.

    class Owner: Object {
        @objc dynamic var name: String = ""
        let dogs = List<Dog>()
    }
    class Dog: EmbeddedObject {
        @objc dynamic var name: String = ""
        @objc dynamic var adopted: Bool = false
        let owner = LinkingObjects(fromType: Owner.self, property: "dogs")
    }
    

    Declaration

    Swift

    public typealias EmbeddedObject = RealmSwiftEmbeddedObject
  • The type of a migration block used to migrate a Realm.

    Declaration

    Swift

    public typealias MigrationBlock = (_ migration: Migration, _ oldSchemaVersion: UInt64) -> Void

    Parameters

    migration

    A Migration object used to perform the migration. The migration object allows you to enumerate and alter any existing objects which require migration.

    oldSchemaVersion

    The schema version of the Realm being migrated.

  • An object class used during migrations.

    Declaration

    Swift

    public typealias MigrationObject = DynamicObject
  • A block type which provides both the old and new versions of an object in the Realm. Object properties can only be accessed using subscripting.

    Declaration

    Swift

    public typealias MigrationObjectEnumerateBlock = (_ oldObject: MigrationObject?, _ newObject: MigrationObject?) -> Void

    Parameters

    oldObject

    The object from the original Realm (read-only).

    newObject

    The object from the migrated Realm (read-write).

  • The MongoClient enables reading and writing on a MongoDB database via the Realm Cloud service.

    It provides access to instances of MongoDatabase, which in turn provide access to specific MongoCollections that hold your data.

    Note

    Before you can read or write data, a user must log in.

    Declaration

    Swift

    public typealias MongoClient = RLMMongoClient
  • The MongoDatabase represents a MongoDB database, which holds a group of collections that contain your data.

    It can be retrieved from the MongoClient.

    Use it to get MongoCollections for reading and writing data.

    Note

    Before you can read or write data, a user must log in`.

    Declaration

    Swift

    public typealias MongoDatabase = RLMMongoDatabase
  • Options to use when executing a find command on a MongoCollection.

    Declaration

    Swift

    public typealias FindOptions = RLMFindOptions
  • Options to use when executing a findOneAndUpdate, findOneAndReplace, or findOneAndDelete command on a MongoCollection.

    Declaration

    Swift

    public typealias FindOneAndModifyOptions = RLMFindOneAndModifyOptions
  • The result of an updateOne or updateMany operation a MongoCollection.

    Declaration

    Swift

    public typealias UpdateResult = RLMUpdateResult
  • Block which returns Result.success(DocumentId) on a successful insert or Result.failure(error)

    Declaration

    Swift

    public typealias MongoInsertBlock = (Result<AnyBSON, Error>) -> Void
  • Block which returns Result.success([ObjectId]) on a successful insertMany or Result.failure(error)

    Declaration

    Swift

    public typealias MongoInsertManyBlock = (Result<[AnyBSON], Error>) -> Void
  • Block which returns Result.success([Document]) on a successful find operation or Result.failure(error)

    Declaration

    Swift

    public typealias MongoFindBlock = (Result<[Document], Error>) -> Void
  • Block which returns Result.success(Document?) on a successful findOne operation or Result.failure(error)

    Declaration

    Swift

    public typealias MongoFindOneBlock = (Result<Document?, Error>) -> Void
  • Block which returns Result.success(Int) on a successful count operation or Result.failure(error)

    Declaration

    Swift

    public typealias MongoCountBlock = (Result<Int, Error>) -> Void
  • Block which returns Result.success(UpdateResult) on a successful update operation or Result.failure(error)

    Declaration

    Swift

    public typealias MongoUpdateBlock = (Result<UpdateResult, Error>) -> Void
  • The MongoCollection represents a MongoDB collection.

    You can get an instance from a MongoDatabase.

    Create, read, update, and delete methods are available.

    Operations against the Realm Cloud server are performed asynchronously.

    Note

    Before you can read or write data, a user must log in.

    Declaration

    Swift

    public typealias MongoCollection = RLMMongoCollection
  • Acts as a middleman and processes events with WatchStream

    Declaration

    Swift

    public typealias ChangeStream = RLMChangeStream

Notifications

  • The type of a block to run for notification purposes when the data in a Realm is modified.

    Declaration

    Swift

    public typealias NotificationBlock = (_ notification: Realm.Notification, _ realm: Realm) -> Void
  • An object representing a MongoDB Realm user.

    See

    RLMUser

    Declaration

    Swift

    public typealias User = RLMUser
  • A singleton which configures and manages MongoDB Realm synchronization-related functionality.

    See

    RLMSyncManager

    Declaration

    Swift

    public typealias SyncManager = RLMSyncManager
  • Options for configuring timeouts and intervals in the sync client.

    See

    RLMSyncTimeoutOptions

    Declaration

    Swift

    public typealias SyncTimeoutOptions = RLMSyncTimeoutOptions
  • A session object which represents communication between the client and server for a specific Realm.

    See

    RLMSyncSession

    Declaration

    Swift

    public typealias SyncSession = RLMSyncSession
  • A closure type for a closure which can be set on the SyncManager to allow errors to be reported to the application.

    See

    RLMSyncErrorReportingBlock

    Declaration

    Swift

    public typealias ErrorReportingBlock = RLMSyncErrorReportingBlock
  • A closure type for a closure which is used by certain APIs to asynchronously return a SyncUser object to the application.

    See

    RLMUserCompletionBlock

    Declaration

    Swift

    public typealias UserCompletionBlock = RLMUserCompletionBlock
  • An error associated with the SDK’s synchronization functionality. All errors reported by an error handler registered on the SyncManager are of this type.

    See

    RLMSyncError

    Declaration

    Swift

    public typealias SyncError = RLMSyncError
  • An error associated with network requests made to the authentication server. This type of error may be returned in the callback block to SyncUser.logIn() upon certain types of failed login attempts (for example, if the request is malformed or if the server is experiencing an issue).

    See

    RLMSyncAuthError

    Declaration

    Swift

    public typealias SyncAuthError = RLMSyncAuthError
  • An enum which can be used to specify the level of logging.

    See

    RLMSyncLogLevel

    Declaration

    Swift

    public typealias SyncLogLevel = RLMSyncLogLevel
  • A data type whose values represent different authentication providers that can be used with MongoDB Realm.

    See

    RLMIdentityProvider

    Declaration

    Swift

    public typealias Provider = RLMIdentityProvider