用 CloudKit 修改数据
Modify data with CloudKit
我在 CloudKit 中有要修改的数据。我发现了这个问题 (Saving Modified Data in CloudKit),它指向 CKModifyRecordsOperation,但作为新手我正在寻找更多指导。我正在这样设置我的对象:
[object setValue:number forKey:@"total"];
如果我只修改一条记录而不是全部,我是否仍然调用 CKModifyRecordsOperation?
关于如何完成的任何线索?
我一直在使用 [self.cloudManager saveRecord:object];
,但修改记录时这不起作用。
您可以获取、修改和保存对单个记录所做的更改。
下面的代码片段显示了如何获取 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 了解更多详细信息。
我在 CloudKit 中有要修改的数据。我发现了这个问题 (Saving Modified Data in CloudKit),它指向 CKModifyRecordsOperation,但作为新手我正在寻找更多指导。我正在这样设置我的对象:
[object setValue:number forKey:@"total"];
如果我只修改一条记录而不是全部,我是否仍然调用 CKModifyRecordsOperation?
关于如何完成的任何线索?
我一直在使用 [self.cloudManager saveRecord:object];
,但修改记录时这不起作用。
您可以获取、修改和保存对单个记录所做的更改。
下面的代码片段显示了如何获取 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 了解更多详细信息。