类型定义

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

通知常量

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

    声明

    Objective-C

    typedef NSString *RLMNotification

    迅速

    struct RLMNotification : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable, @unchecked Sendable
  • RLMObject通知的回调区块。

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

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

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

    声明

    Objective-C

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

    迅速

    typealias RLMObjectChangeBlock = (Bool, [RLMPropertyChange]?, (any Error)?) -> Void
  • 可在 RLMLogger 上设置的日志回调函数。

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

    声明

    Objective-C

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

    迅速

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

    声明

    Objective-C

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

    迅速

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

    参数

    oldObject

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

    newObject

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

  • 用于异步打开 Realm 的回调区块。

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

    声明

    Objective-C

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

    迅速

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

    声明

    Objective-C

    typedef unsigned int RLMAsyncTransactionId

    迅速

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

    声明

    Objective-C

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

    迅速

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

    声明

    Objective-C

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

    迅速

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

    参数

    migration

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

    oldSchemaVersion

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

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

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

    声明

    Objective-C

    typedef BOOL (^RLMShouldCompactOnLaunchBlock)(NSUInteger, NSUInteger)

    迅速

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

    声明

    Objective-C

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

    迅速

    typealias RLMResultsCompletionBlock = (RLMResults<AnyObject>?, (any Error)?) -> Void