RLMAsyncOpenTask
Objective-C
@interface RLMAsyncOpenTask : NSObject
Swift
@_nonSendable(_assumed) class RLMAsyncOpenTask : NSObject, @unchecked Sendable
一个任务对象,可用于观察或取消异步打开。
当异步打开同步 Realm 时,会在调用完成回调之前从服务器下载 Realm 的最新状态。 此任务对象可用于观察下载状态或取消下载。 应该使用此选项,而不是尝试通过同步会话观察下载,因为同步会话本身是异步创建的,并且当 -[RLMKRealm asyncOpenWithConfiguration:completion:] 返回时可能还不存在。
-
已弃用
请改用 addSyncProgressNotificationBlock
注册进度通知块。
每当同步子系统有新的进度数据要报告时,就会调用每个已注册的进度通知块,直到取消任务或调用完成回调。 进度通知在主队列上传递。
声明
Objective-C
- (void)addProgressNotificationBlock: (nonnull RLMProgressNotificationBlock)block;
Swift
func addProgressNotificationBlock(_ block: @escaping RLMProgressNotificationBlock)
-
注册进度通知块。
每当同步子系统有新的进度数据要报告时,就会调用每个已注册的进度通知块,直到取消任务或调用完成回调。 进度通知在主队列上传递。
声明
Objective-C
- (void)addSyncProgressNotificationBlock: (nonnull RLMSyncProgressNotificationBlock)block;
Swift
func addSyncProgressNotificationBlock(_ block: @escaping RLMSyncProgressNotificationBlock)
-
已弃用
请改用 addSyncProgressNotificationOnQueue
注册在给定队列上调用的进度通知块。
每当同步子系统有新的进度数据要报告时,就会调用每个已注册的进度通知块,直到取消任务或调用完成回调。 进度通知在提供的队列上传递。
声明
Objective-C
- (void)addProgressNotificationOnQueue:(nonnull dispatch_queue_t)queue block:(nonnull RLMProgressNotificationBlock) block;
Swift
func addProgressNotification(on queue: dispatch_queue_t, block: @escaping RLMProgressNotificationBlock)
-
注册在给定队列上调用的进度通知块。
每当同步子系统有新的进度数据要报告时,就会调用每个已注册的进度通知块,直到取消任务或调用完成回调。 进度通知在提供的队列上传递。
声明
Objective-C
- (void) addSyncProgressNotificationOnQueue:(nonnull dispatch_queue_t)queue block: (nonnull RLMSyncProgressNotificationBlock) block;
Swift
func addSyncProgressNotification(on queue: dispatch_queue_t, block: @escaping RLMSyncProgressNotificationBlock)
-
取消异步打开。
任何正在进行的下载都将被取消,并且永远不会调用此异步打开的完成区块。 如果同一 Realm 上同时发生多个异步打开,则所有其他打开都将失败,并显示错误“操作已取消”。
声明
Objective-C
- (void)cancel;
Swift
func cancel()