从公共记录类型中获取所有记录并将其保存到设备
Posted
技术标签:
【中文标题】从公共记录类型中获取所有记录并将其保存到设备【英文标题】:Fetching and Saving to device all records from a Public Record type 【发布时间】:2016-05-15 11:28:33 【问题描述】:我是 ios 开发新手,刚开始使用 swift。我正在使用云套件。我正在尝试获取并保存名为 Puppets 的记录类型中的所有记录。这是一个非常小的文本数据集,需要更新。
如何使用 swift 从一种记录类型中获取和保存所有记录?
这是我从文档中得到的代码:
CKDatabase *publicDatabase = [[CKContainer defaultContainer] publicCloudDatabase];
CKRecordID *artworkRecordID = [[CKRecordID alloc] initWithRecordName:@"Puppets"];
[publicDatabase fetchRecordWithID:artworkRecordID completionHandler:^(CKRecord *artworkRecord, NSError *error)
if (error)
// Error handling for failed fetch from public database
else
// Display the fetched record
];
【问题讨论】:
请提出一个正确的问题。我不清楚您对我们的期望。 您需要使用查询,而不是获取。请参阅CKQuery
的文档。
@EdwinVermeer 已编辑
【参考方案1】:
正如@rmaddy 已经回复的那样,如果您想查询一个recordType 的多条记录,您可以使用CKQuery。更好的是 CKQueryOperation。您将对查询有更多的控制权。您还必须注意返回的记录数量是有限的(通常为 100)。如果要读取更多记录,则必须在使用第一个查询返回的游标的地方启动另一个查询。
这里你可以看到一些示例代码如何EVCloudKitDao snippet
【讨论】:
以上是关于从公共记录类型中获取所有记录并将其保存到设备的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 IF 语句从数据库中获取数据并将其保存到字符串中?
ExtJs 3.4:从网格中获取所有记录并将它们传递到 servlet