Type Definitions
The following type definitions are available globally.
-
A notification indicating that changes were made to a Realm.
Declaration
Objective-C
typedef NSString *RLMNotification
Swift
struct RLMNotification : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable
-
A block type which provides both the old and new versions of an object in the Realm. Object properties can only be accessed using keyed subscripting.
Declaration
Parameters
oldObject
The object from the original Realm (read-only).
newObject
The object from the migrated Realm (read-write).
-
A callback block for
RLMObject
notifications.If the object is deleted from the managing Realm, the block is called with
deleted
set toYES
and the other two arguments arenil
. The block will never be called again after this.If the object is modified, the block will be called with
deleted
set toNO
, anil
error, and an array ofRLMPropertyChange
objects which indicate which properties of the objects were modified.If an error occurs,
deleted
will beNO
,changes
will benil
, anderror
will include information about the error. The block will never be called again after an error occurs.Declaration
Objective-C
typedef void (^RLMObjectChangeBlock)(BOOL, NSArray<RLMPropertyChange *> *_Nullable, NSError *_Nullable)
Swift
typealias RLMObjectChangeBlock = (Bool, [RLMPropertyChange]?, Error?) -> Void
-
A callback used to vend the results of a partial sync fetch.
Declaration
Objective-C
typedef void (^RLMPartialSyncFetchCallback)(RLMResults *_Nullable, NSError *_Nullable)
Swift
typealias RLMPartialSyncFetchCallback = (RLMResults?, Error?) -> Void
-
The type of a block to run whenever the data within the Realm is modified.
Declaration
Objective-C
typedef void (^RLMNotificationBlock)(RLMNotification _Nonnull, RLMRealm *_Nonnull)
Swift
typealias RLMNotificationBlock = (RLMNotification, RLMRealm) -> Void
-
The type of a migration block used to migrate a Realm.
Declaration
Objective-C
typedef void (^RLMMigrationBlock)(RLMMigration *_Nonnull, uint64_t)
Swift
typealias RLMMigrationBlock = (RLMMigration, UInt64) -> Void
Parameters
migration
A
RLMMigration
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.
-
A block called when opening a Realm for the first time during the life of a process to determine if it should be compacted before being returned to the user. It is passed the total file size (data + free space) and the total bytes used by data in the file.
Return
YES
to indicate that an attempt to compact the file should be made. The compaction will be skipped if another process is accessing it.Declaration
Objective-C
typedef BOOL (^RLMShouldCompactOnLaunchBlock)(NSUInteger, NSUInteger)
Swift
typealias RLMShouldCompactOnLaunchBlock = (UInt, UInt) -> Bool
-
A token representing an identity provider’s credentials.
Declaration
Objective-C
typedef NSString *RLMSyncCredentialsToken
Swift
typealias RLMSyncCredentialsToken = NSString
-
A type representing the unique identifier of a Realm Object Server identity provider.
Declaration
Objective-C
typedef NSString *RLMIdentityProvider
Swift
struct RLMIdentityProvider : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable
-
A log callback function which can be set on RLMSyncManager.
The log function may be called from multiple threads simultaneously, and is responsible for performing its own synchronization if any is required.
Declaration
Objective-C
typedef void (*RLMSyncLogFunction)(RLMSyncLogLevel, NSString *_Nonnull)
Swift
typealias RLMSyncLogFunction = (RLMSyncLogLevel, String) -> Void
-
A block type representing a block which can be used to report a sync-related error to the application. If the error pertains to a specific session, that session will also be passed into the block.
Declaration
Objective-C
typedef void (^RLMSyncErrorReportingBlock)(NSError *_Nonnull, RLMSyncSession *_Nullable)
Swift
typealias RLMSyncErrorReportingBlock = (Error, RLMSyncSession?) -> Void
-
The type of a progress notification block intended for reporting a session’s network activity to the user.
transferredBytes
refers to the number of bytes that have been uploaded or downloaded.transferrableBytes
refers to the total number of bytes transferred, and pending transfer.Declaration
Objective-C
typedef void (^RLMProgressNotificationBlock)(NSUInteger, NSUInteger)
Swift
typealias RLMProgressNotificationBlock = (UInt, UInt) -> Void
-
A block type used for APIs which asynchronously vend an
RLMSyncUser
.Declaration
Objective-C
typedef void (^RLMUserCompletionBlock)(RLMSyncUser *_Nullable, NSError *_Nullable)
Swift
typealias RLMUserCompletionBlock = (RLMSyncUser?, Error?) -> Void
-
A block type used to report the status of a password change operation. If the
NSError
argument is nil, the operation succeeded.Declaration
Objective-C
typedef void (^RLMPasswordChangeStatusBlock)(NSError *_Nullable)
Swift
typealias RLMPasswordChangeStatusBlock = (Error?) -> Void
-
A block type used to report the status of a permission apply or revoke operation. If the
NSError
argument is nil, the operation succeeded.Declaration
Objective-C
typedef void (^RLMPermissionStatusBlock)(NSError *_Nullable)
Swift
typealias RLMPermissionStatusBlock = (Error?) -> Void
-
A block type used to report the status of a permission offer operation.
Declaration
Objective-C
typedef void (^RLMPermissionOfferStatusBlock)(NSString *_Nullable, NSError *_Nullable)
Swift
typealias RLMPermissionOfferStatusBlock = (String?, Error?) -> Void
-
A block type used to report the status of a permission offer response operation.
Declaration
Objective-C
typedef void (^RLMPermissionOfferResponseStatusBlock)(NSURL *_Nullable, NSError *_Nullable)
Swift
typealias RLMPermissionOfferResponseStatusBlock = (URL?, Error?) -> Void
-
A block type used to asynchronously report results of a permissions get operation. Exactly one of the two arguments will be populated.
Declaration
Objective-C
typedef void (^RLMPermissionResultsBlock)( NSArray<RLMSyncPermission *> *_Nullable, NSError *_Nullable)
Swift
typealias RLMPermissionResultsBlock = ([RLMSyncPermission]?, Error?) -> Void
-
A block type used to asynchronously report results of a permission offerss get operation. Exactly one of the two arguments will be populated.
Declaration
Objective-C
typedef void (^RLMPermissionOfferResultsBlock)( NSArray<RLMSyncPermissionOffer *> *_Nullable, NSError *_Nullable)
Swift
typealias RLMPermissionOfferResultsBlock = ([RLMSyncPermissionOffer]?, Error?) -> Void
-
A block type used to asynchronously report results of a user info retrieval. Exactly one of the two arguments will be populated.
Declaration
Objective-C
typedef void (^RLMRetrieveUserBlock)(RLMSyncUserInfo *_Nullable, NSError *_Nullable)
Swift
typealias RLMRetrieveUserBlock = (RLMSyncUserInfo?, Error?) -> Void
-
A block type used to report an error related to a specific user.
Declaration
Objective-C
typedef void (^RLMUserErrorReportingBlock)(RLMSyncUser *_Nonnull, NSError *_Nonnull)
Swift
typealias RLMUserErrorReportingBlock = (RLMSyncUser, Error) -> Void
-
A token originating from the Realm Object Server.
Declaration
Objective-C
typedef NSString *RLMServerToken
Swift
typealias RLMServerToken = NSString