类型定义
以下类型定义在全局范围内可用。
-
用于报告错误的区块类型
声明
Objective-C
typedef void (^RLMAPIKeyAuthOptionalErrorBlock)(NSError *_Nullable)
Swift
typealias RLMAPIKeyAuthOptionalErrorBlock = @Sendable ((any Error)?) -> Void
-
用于在成功时返回
RLMUserAPIKey
或在失败时返回NSError
的区块类型声明
Objective-C
typedef void (^RLMOptionalUserAPIKeyBlock)(RLMUserAPIKey *_Nullable, NSError *_Nullable)
Swift
typealias RLMOptionalUserAPIKeyBlock = @Sendable (RLMUserAPIKey?, (any Error)?) -> Void
-
用于在成功时返回
RLMUserAPIKey
或在失败时返回NSError
的大量的区块类型声明
Objective-C
typedef void (^RLMUserAPIKeysBlock)(NSArray<RLMUserAPIKey *> *_Nullable, NSError *_Nullable)
Swift
typealias RLMUserAPIKeysBlock = @Sendable ([RLMUserAPIKey]?, (any Error)?) -> Void
-
用于报告错误的区块类型
声明
Objective-C
typedef void (^RLMOptionalErrorBlock)(NSError *_Nullable)
Swift
typealias RLMOptionalErrorBlock = ((any Error)?) -> Void
-
指示对 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中对象的旧版本和新版本。 只能使用带键下标访问对象属性。
声明
参数
oldObject
原始 Realm 中的对象(只读)。
newObject
已迁移 Realm 中的对象(读写)。
-
计数操作成功后返回集合中文档数量的区块,如果发生错误则返回错误信息。
声明
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
-
用于从
RLMNetworkTransport
接收RLMResponse
的区块。声明
Objective-C
typedef void (^RLMNetworkTransportCompletionBlock)(RLMResponse *_Nonnull)
Swift
typealias RLMNetworkTransportCompletionBlock = @Sendable (RLMResponse) -> 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
参数是客户端重置之前本地状态的冻结副本。after
参数包含客户端重置发生后的本地数据库状态。声明
-
可在 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 (^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