首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Couldkit查询和在CKReference字段上使用谓词的问题

Couldkit查询和在CKReference字段上使用谓词的问题
EN

Stack Overflow用户
提问于 2018-10-29 15:03:38
回答 1查看 64关注 0票数 0

对于CKQuery是如何工作的,我有一个基本的了解。

我有两种唱片类型:

  1. 朋友:包含字段
    • url_of_profil_pic
    • 名字
    • ..。

  1. 投票:包含字段
    • date_of_vote
    • target_of_the_vote (老友记CKReference)
    • the_one_who_vote (cloudkit用户id)

当我在表上查询时,我只是想知道如何得到

基本上,想要的东西是这样的:

代码语言:javascript
复制
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"the_one_who_vote = %@", recordReference.recordID];
        CKQuery *query = [[CKQuery alloc] initWithRecordType:@"Votes" predicate:predicate];
        query.sortDescriptors = [NSArray arrayWithObject:[[NSSortDescriptor alloc]initWithKey:@"createdAt" ascending:false]];
        CKQueryOperation *operation = [[[CKQueryOperation alloc] initWithQuery:query] autorelease];
        operation.desiredKeys = @[@"target_of_the_vote . url_of_profil_pic"];
        operation.resultsLimit = 10;
        operation.recordFetchedBlock = ^(CKRecord * _Nonnull record) 

这一行将是为我提供URL的谓词。

代码语言:javascript
复制
operation.desiredKeys = @[@"target_of_the_vote . url_of_profil_pic"];
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-13 21:55:04

假设您已经获取了记录,并且url_of_profil_pic是一个CKAsset,则必须将资产URL转换为可以保存到以下文件的Data对象:

代码语言:javascript
复制
//record is the CKRecord you fetched
if let asset = record["url_of_profil_pic"] as? CKAsset{
  do{
    try yourData = Data(contentsOf: asset.fileURL)
    //Save yourData to disk...
  }catch{
    print("Error saving profile pic from CKAsset")
  }
}

苹果建议将1MB上的任何东西作为CKAsset on CloudKit (文档)保存。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53048305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档