类型定义

以下类型定义在全局范围内可用。

通知常量

  • 指示对 Realm 进行更改的通知。

    声明

    Objective-C

    typedef NSString *RLMNotification

    Swift

    struct RLMNotification : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable, @unchecked Sendable
  • 代表身份提供者档案的令牌。

    声明

    Objective-C

    typedef NSString *RLMCredentialsToken

    Swift

    typealias RLMCredentialsToken = NSString
  • 表示 Atlas App Services 身份提供程序的唯一标识符的类型。

    声明

    Objective-C

    typedef NSString *RLMIdentityProvider

    Swift

    struct RLMIdentityProvider : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable, @unchecked Sendable
  • 用于报告错误的区块类型

    声明

    Objective-C

    typedef void (^RLMEmailPasswordAuthOptionalErrorBlock)(NSError *_Nullable)

    Swift

    typealias RLMEmailPasswordAuthOptionalErrorBlock = @Sendable ((any Error)?) -> Void
  • RLMObject通知的回调区块。

    如果从管理Realm中删除该对象,则调用该区块时会将deleted设立为YES ,其他两个参数均为nil 。 此后,该区块将永远不会再次被调用。

    如果对象被修改,则调用该区块时会将deleted设置为NO 、出现nil错误以及指示对象的哪些属性已修改的RLMPropertyChange对象数组。

    error 始终为nil ,并将在未来版本中删除。

    声明

    Objective-C

    typedef void (^RLMObjectChangeBlock)(BOOL,
                                         NSArray<RLMPropertyChange *> *_Nullable,
                                         NSError *_Nullable)

    Swift

    typealias RLMObjectChangeBlock = (Bool, [RLMPropertyChange]?, (any Error)?) -> Void
  • 一个接收订阅集实例的区块,可用于添加初始订阅集,该初始订阅集将在首次打开 Realm 时执行。

    声明

    Objective-C

    typedef void (^RLMFlexibleSyncInitialSubscriptionsBlock)(
        RLMSyncSubscriptionSet *_Nonnull)

    Swift

    typealias RLMFlexibleSyncInitialSubscriptionsBlock = @Sendable (RLMSyncSubscriptionSet) -> Void
  • 可在 RLMLogger 上设置的日志回调函数。

    日志函数可以同时从多个线程调用,并且在需要时负责执行自己的同步。

    声明

    Objective-C

    typedef void (^RLMLogFunction)(RLMLogLevel, NSString *_Nonnull)

    Swift

    typealias RLMLogFunction = @Sendable (LogLevel, String) -> Void
  • 一种区块类型,提供Realm中对象的旧版本和新版本。 只能使用带键下标访问对象属性。

    声明

    Objective-C

    typedef void (^RLMObjectMigrationBlock)(RLMObject *_Nullable,
                                            RLMObject *_Nullable)

    Swift

    typealias RLMObjectMigrationBlock = (RLMObject?, RLMObject?) -> Void

    参数

    oldObject

    原始 Realm 中的对象(只读)。

    newObject

    已迁移 Realm 中的对象(读写)。

  • 插入成功时返回对象 ID 的块,如果插入则返回错误。

    声明

    Objective-C

    typedef void (^RLMMongoInsertBlock)(id<RLMBSON> _Nullable, NSError *_Nullable)

    Swift

    typealias RLMMongoInsertBlock = @Sendable ((any RLMBSON)?, (any Error)?) -> Void
  • 块,在 insertMany成功时返回对象ID大量,如果发生则返回错误。

    声明

    Objective-C

    typedef void (^RLMMongoInsertManyBlock)(NSArray<id<RLMBSON>> *_Nullable,
                                            NSError *_Nullable)

    Swift

    typealias RLMMongoInsertManyBlock = @Sendable ([any RLMBSON]?, (any Error)?) -> Void
  • 查找操作成功时返回文档数组的块,如果发生查找操作,则返回错误。

    声明

    Objective-C

    typedef void (^RLMMongoFindBlock)(
        NSArray<NSDictionary<NSString *, id<RLMBSON>> *> *_Nullable,
        NSError *_Nullable)

    Swift

    typealias RLMMongoFindBlock = @Sendable ([[String : any RLMBSON]]?, (any Error)?) -> Void
  • 块,在 findOne 操作成功时返回文档,如果发生错误,则返回错误。

    声明

    Objective-C

    typedef void (^RLMMongoFindOneBlock)(
        NSDictionary<NSString *, id<RLMBSON>> *_Nullable_result, NSError *_Nullable)

    Swift

    typealias RLMMongoFindOneBlock = @Sendable ([String : any RLMBSON]?, (any Error)?) -> Void
  • 计数操作成功后返回集合中文档数量的区块,如果发生错误则返回错误信息。

    声明

    Objective-C

    typedef void (^RLMMongoCountBlock)(NSInteger, NSError *_Nullable)

    Swift

    typealias RLMMongoCountBlock = @Sendable (Int, (any Error)?) -> Void
  • 更新操作成功时返回 RLMUpdateResult 的块,如果发生更新操作,则返回错误。

    声明

    Objective-C

    typedef void (^RLMMongoUpdateBlock)(RLMUpdateResult *_Nullable,
                                        NSError *_Nullable)

    Swift

    typealias RLMMongoUpdateBlock = @Sendable (RLMUpdateResult?, (any Error)?) -> Void
  • 删除操作成功时返回已删除文档的块,如果发生错误,则返回错误。

    声明

    Objective-C

    typedef void (^RLMMongoDeleteBlock)(
        NSDictionary<NSString *, id<RLMBSON>> *_Nullable_result, NSError *_Nullable)

    Swift

    typealias RLMMongoDeleteBlock = @Sendable ([String : any RLMBSON]?, (any Error)?) -> Void
  • 用于从RLMNetworkTransport接收RLMResponse的区块。

    声明

    Objective-C

    typedef void (^RLMNetworkTransportCompletionBlock)(RLMResponse *_Nonnull)

    Swift

    typealias RLMNetworkTransportCompletionBlock = @Sendable (RLMResponse) -> Void
  • 用于异步打开 Realm 的回调区块。

    如果打开成功,则返回Realm ,否则返回错误。

    声明

    Objective-C

    typedef void (^RLMAsyncOpenRealmCallback)(RLMRealm *_Nullable,
                                              NSError *_Nullable)

    Swift

    typealias RLMAsyncOpenRealmCallback = (RLMRealm?, (any Error)?) -> Void
  • 异步事务的 ID。

    声明

    Objective-C

    typedef unsigned int RLMAsyncTransactionId

    Swift

    typealias RLMAsyncTransactionId = UInt32
  • 修改 Realm 中的数据时运行的区块的类型。

    声明

    Objective-C

    typedef void (^RLMNotificationBlock)(RLMNotification _Nonnull,
                                         RLMRealm *_Nonnull)

    Swift

    typealias RLMNotificationBlock = (RLMNotification, RLMRealm) -> Void
  • 用于迁移 Realm 的迁移区块的类型。

    声明

    Objective-C

    typedef void (^RLMMigrationBlock)(RLMMigration *_Nonnull, uint64_t)

    Swift

    typealias RLMMigrationBlock = @Sendable (RLMMigration, UInt64) -> Void

    参数

    migration

    用于执行迁移的RLMMigration对象。 迁移对象允许您枚举和更改任何需要迁移的现有对象。

    oldSchemaVersion

    正在迁移的 Realm 的模式版本。

  • 在进程生命周期中首次打开 Realm 时调用的区块,用于确定是否应在将其返回给用户之前对其进行压缩。 系统会向其传递总文件大小(数据 + 可用空间)以及文件中数据使用的总字节数。

    返回YES表示应尝试压缩文件。 如果另一个进程正在访问它,则将跳过压实。

    声明

    Objective-C

    typedef BOOL (^RLMShouldCompactOnLaunchBlock)(NSUInteger, NSUInteger)

    Swift

    typealias RLMShouldCompactOnLaunchBlock = @Sendable (UInt, UInt) -> Bool
  • 用于异步返回Results的 API 的区块类型。

    声明

    Objective-C

    typedef void (^RLMResultsCompletionBlock)(RLMResults *_Nullable,
                                              NSError *_Nullable)

    Swift

    typealias RLMResultsCompletionBlock = (RLMResults<AnyObject>?, (any Error)?) -> Void
  • 用于在客户端重置发生之前进行报告的区块类型。 beforeFrozen是客户端重置之前本地状态的冻结副本。

    声明

    Objective-C

    typedef void (^RLMClientResetBeforeBlock)(RLMRealm *_Nonnull)

    Swift

    typealias RLMClientResetBeforeBlock = @Sendable (RLMRealm) -> Void
  • 用于在发生客户端重置后进行报告的区块类型。 beforeFrozen参数是客户端重置之前本地状态的冻结副本。 after参数包含客户端重置发生后的本地数据库状态。

    声明

    Objective-C

    typedef void (^RLMClientResetAfterBlock)(RLMRealm *_Nonnull, RLMRealm *_Nonnull)

    Swift

    typealias RLMClientResetAfterBlock = @Sendable (RLMRealm, RLMRealm) -> Void
  • 可在 RLMSyncManager 上设置的日志回调函数。

    日志函数可以同时从多个线程调用,并且在需要时负责执行自己的同步。

    声明

    Objective-C

    typedef void (^RLMSyncLogFunction)(RLMSyncLogLevel, NSString *_Nonnull)

    Swift

    typealias RLMSyncLogFunction = @Sendable (RLMSyncLogLevel, String) -> Void
  • 一种区块类型,表示可用于向应用程序报告与同步相关的错误的区块。 如果错误与特定会话有关,则该会话也将被传递到区块中。

    声明

    Objective-C

    typedef void (^RLMSyncErrorReportingBlock)(NSError *_Nonnull,
                                               RLMSyncSession *_Nullable)

    Swift

    typealias RLMSyncErrorReportingBlock = @Sendable (any Error, RLMSyncSession?) -> Void
  • 已弃用

    请改用 RLMSyncProgressNotificationBlock

    用于向用户报告会话的网络活动的进度通知块的类型。

    transferredBytes 指已上传或下载的字节数。 transferrableBytes是指已传输和待传输的字节总数。

    声明

    Objective-C

    typedef void (^RLMProgressNotificationBlock)(NSUInteger, NSUInteger)

    Swift

    typealias RLMProgressNotificationBlock = (UInt, UInt) -> Void
  • 封装进度信息的结构体。

    查看更多

    声明

    Objective-C

    typedef struct RLMSyncProgress RLMSyncProgress
  • 用于向用户报告会话的网络活动的进度通知块的类型。

    声明

    Objective-C

    typedef void (^RLMSyncProgressNotificationBlock)(RLMSyncProgress)

    Swift

    typealias RLMSyncProgressNotificationBlock = (RLMSyncProgress) -> Void
  • 用于报告与特定用户相关的错误的区块类型。

    声明

    Objective-C

    typedef void (^RLMOptionalUserBlock)(RLMUser *_Nullable, NSError *_Nullable)

    Swift

    typealias RLMOptionalUserBlock = @Sendable (RLMUser?, (any Error)?) -> Void
  • 用于报告用户网络请求错误的区块类型。

    声明

    Objective-C

    typedef void (^RLMUserOptionalErrorBlock)(NSError *_Nullable)

    Swift

    typealias RLMUserOptionalErrorBlock = @Sendable ((any Error)?) -> Void
  • 如果用户有任何自定义数据集,则返回字典的区块

    声明

    Objective-C

    typedef void (^RLMUserCustomDataBlock)(NSDictionary *_Nullable,
                                           NSError *_Nullable)

    Swift

    typealias RLMUserCustomDataBlock = @Sendable ([AnyHashable : Any]?, (any Error)?) -> Void
  • 用于从函数调用中返回的区块类型。

    声明

    Objective-C

    typedef void (^RLMCallFunctionCompletionBlock)(id<RLMBSON> _Nullable,
                                                   NSError *_Nullable)

    Swift

    typealias RLMCallFunctionCompletionBlock = @Sendable ((any RLMBSON)?, (any Error)?) -> Void