MST

星途 面试题库

面试题:Objective-C中如何初始化iCloud容器以用于云存储与同步

请描述在Objective-C代码中,初始化iCloud容器的关键步骤和涉及的主要类及方法,用于后续的云存储与同步操作。
39.7万 热度难度
编程语言Objective-C

知识考点

AI 面试

面试题答案

一键面试

关键步骤

  1. 导入框架:在项目中导入 CloudKit.framework,在 .m 文件中导入头文件 #import <CloudKit/CloudKit.h>
  2. 获取容器:使用 CKContainer 类来获取 iCloud 容器实例。
  3. 获取公共数据库:从容器中获取公共数据库,一般使用公共数据库进行云存储与同步。

主要类及方法

  1. CKContainer类
    • 方法+ (instancetype)defaultContainer; 用于获取默认的 iCloud 容器。如果应用只使用一个 iCloud 容器,使用此方法即可。例如:
CKContainer *container = [CKContainer defaultContainer];
  1. CKDatabase类
    • 方法:从 CKContainer 获取数据库。- (CKDatabase *)publicCloudDatabase; 用于获取公共数据库,适合存储应用所有用户都能访问的数据。例如:
CKDatabase *publicDatabase = [container publicCloudDatabase];

获取到公共数据库后,就可以使用 CKDatabase 的相关方法进行数据的保存(- (void)saveRecord:(CKRecord *)record completionHandler:(void (^)(CKRecord * _Nullable, NSError * _Nullable))completionHandler;)、查询(- (void)performQuery:(CKQuery *)query inZoneWithID:(CKRecordZoneID *)zoneID completionHandler:(void (^)(NSArray<CKRecord *> * _Nullable, NSError * _Nullable))completionHandler;)等云存储与同步操作。