我有想要在CloudKit中修改的数据。我发现了这个问题(Saving Modified Data in CloudKit),它指的是CKModifyRecordsOperation,但对此我是新手,我正在寻找更多的指导。我正在设置我的对象:
[object setValue:number forKey:@"total"];
如果我只修改一条记录而不是所有记录,我仍然会打电话给CKModifyRecordsOperation?
如何做到这一点的任何线索?
我一直在使用[self.cloudManager saveRecord:object];
,但修改记录后这不起作用。
答案 0 :(得分:0)
您可以获取,修改和保存对单个记录所做的更改。
下面的代码片段显示了如何获取Artwork记录,更改日期属性值以及将其保存到数据库中。
// Fetch the record from the database
CKDatabase *publicDatabase = [[CKContainer containerWithIdentifier:containerIdentifier] publicCloudDatabase];
CKRecordID *artworkRecordID = [[CKRecordID alloc] initWithRecordName:@"115"];
[publicDatabase fetchRecordWithID:artworkRecordID completionHandler:^(CKRecord *artworkRecord, NSError *error) {
if (error) {
// Error handling for failed fetch from public database
}
else {
// Modify the record and save it to the database
NSDate *date = artworkRecord[@"date"];
artworkRecord[@"date"]; = [date dateByAddingTimeInterval:30.0 * 60.0];
[publicDatabase saveRecord:artworkRecord completionHandler:^(CKRecord *savedRecord, NSError *saveError) {
// Error handling for failed save to public database
}];
}
}];
请考虑阅读this article以获取更多详细信息。