私のシナリオ: パブリック データベースに特定のレコード タイプのレコードのリストがあります。誰かがボタンを押したときに、「例」キーに値「1」を含むレコードのみを表示したい。CKRecords の配列が作成されている間にこれを行う方法はありますか? これは私が現在アレイを構築する方法です:
- (void)queryCloudKit
{
CKQuery *query = [[CKQuery alloc] initWithRecordType:@"NewArticle"
predicate:[NSPredicate predicateWithValue:YES]];
query.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"Date" ascending:NO]];
[self.publicDatabase performQuery:query
inZoneWithID:nil
completionHandler:^(NSArray *results, NSError *error) {
if (!error) {
// CK convenience methods completion
// arent executed on the callers thread.
// more info: http://openradar.appspot.com/radar?id=5534800471392256
@synchronized(self){
self.results = [results mutableCopy];
// make sure it executes on main thread
dispatch_async(dispatch_get_main_queue(), ^{
[self.collectionView reloadData];
});
}
}
else {
NSLog(@"FETCH ERROR: %@", error);
}
}];
}
ありがとう!