Ján*_*nos 5 ios cloudkit ckrecord
下载一个CKRecordfrom CloudKit和when plotting创建者recordName,我可以看到:
(lldb) po record.creatorUserRecordID.recordName
__defaultOwner__
Run Code Online (Sandbox Code Playgroud)
但是,仪表板显示了真正的价值.

为什么不同?!
我希望我没有下载只因为这个登录用户第一次?!
__defaultOwner__意思是它归当前登录的 iCloud 帐户所有。所以你可以检查它并显示“我”或这个人的名字(如果你有的话)。如果您需要找出登录用户,recordID您可以使用异步方法:fetchUserRecordIDWithCompletionHandler。
小智 -2
这是一个错误
编辑这个:
- (void)postMoodFeed:(NSString *)moodFeed
{
CKRecord *moodRecord = [[CKRecord alloc] initWitenter code herehRecordType:@"Mood"];
moodRecord[@"moodFeed"] = moodFeed`enter code here`
[[[CKContainer defaultContainer] publicCloudDatabase] saveRecord:moodRecord completionHandler:^(CKRecord *record, NSError *error) {
[self queryMyMood];
}];
}
- (void)queryMyMood
{
// currentUserRecordID is fetched from fetchUserRecordIDWithCompletionHandler: of CKContainer
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"creatorUserRecordID = %@", currentUserRecordID];
CKQuery *query = [[CKQuery alloc] initWithRecordType:@"Mood" predicate:predicate];
[[[CKContainer defaultContainer] publicCloudDatabase] performQuery:query inZoneWithID:nil completionHandler:^(NSArray *results, NSError *error) {
if (results) {
for (CKRecord *eachRecord in results) {
// Following logs are all __defaultOwner__
NSLog(@"%@", eachRecord.creatorUserRecordID.recordName);
[[[CKContainer defaultContainer] publicCloudDatabase]fetchRecordWithID:eachRecord.creatorUserRecordID completionHandler:^(CKRecord *record, NSError *error) {
// All following logs are "Unknown item" error
NSLog(@"%@", error);
}];
}
}
}];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
619 次 |
| 最近记录: |