Type Aliases
The following type aliases are available globally.
-
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
String
Data
Date
Decimal128
ObjectId
Relationships: Array (in Swift,
List
) andObject
typesObject
Array
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
seeRLMPushClient
Declaration
Swift
public typealias PushClient = RLMPushClient
-
An object which is used within UserAPIKeyProviderClient
Declaration
Swift
public typealias UserAPIKey = RLMUserAPIKey
-
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
-
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 theObject
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 toRealmEnum
.RealmOptional<Value>
for optional numeric propertiesObject
subclasses, to model many-to-one relationshipsEmbeddedObject
subclasses, to model owning one-to-one relationshipsList<Element>
, to model many-to-many relationships
String
,NSString
,Date
,NSDate
,Data
,NSData
,UUID
,NSUUID
,Decimal128
andObjectId
properties can be declared as optional.Object
andEmbeddedObject
subclasses must be declared as optional.Int
,Int8
,Int16
,Int32
,Int64
,Float
,Double
,Bool
, enum, andList
properties cannot. To store an optional number, useRealmOptional<Int>
,RealmOptional<Float>
,RealmOptional<Double>
, orRealmOptional<Bool>
instead, which wraps an optional numeric value. Lists cannot be optional at all.All property types except for
List
andRealmOptional
must be declared as@objc dynamic var
.List
andRealmOptional
properties must be declared as non-dynamiclet
properties. Swiftlazy
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 forObject
, except for that embedded objects cannot link to top-level objects, soObject
andList<Object>
properties are not supported (EmbeddedObject
andList<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 specificMongoCollection
s that hold your data.Note
Before you can read or write data, a user must log in.
See also
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
MongoCollection
s for reading and writing data.Note
Before you can read or write data, a user must log in`.
See also
Declaration
Swift
public typealias MongoDatabase = RLMMongoDatabase
-
Options to use when executing a
find
command on aMongoCollection
.Declaration
Swift
public typealias FindOptions = RLMFindOptions
-
Options to use when executing a
findOneAndUpdate
,findOneAndReplace
, orfindOneAndDelete
command on aMongoCollection
.Declaration
Swift
public typealias FindOneAndModifyOptions = RLMFindOneAndModifyOptions
-
The result of an
updateOne
orupdateMany
operation aMongoCollection
.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.
See also
Declaration
Swift
public typealias MongoCollection = RLMMongoCollection
-
Acts as a middleman and processes events with WatchStream
Declaration
Swift
public typealias ChangeStream = RLMChangeStream
-
The type of a block to run for notification purposes when the data in a Realm is modified.
Declaration
-
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