面试题答案
一键面试关键步骤
- 导入框架:在项目中导入
CloudKit.framework
,在.m
文件中导入头文件#import <CloudKit/CloudKit.h>
。 - 获取容器:使用
CKContainer
类来获取 iCloud 容器实例。 - 获取公共数据库:从容器中获取公共数据库,一般使用公共数据库进行云存储与同步。
主要类及方法
- CKContainer类
- 方法:
+ (instancetype)defaultContainer;
用于获取默认的 iCloud 容器。如果应用只使用一个 iCloud 容器,使用此方法即可。例如:
- 方法:
CKContainer *container = [CKContainer defaultContainer];
- 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;
)等云存储与同步操作。