iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 使用Swift对CloudKit进行CKReference大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个RecordType帐户和另一个朋友.
对于帐户我在创建每条记录时设置recordID,并且我有一个名称.

对于朋友,我有两个栏目,Me和MyFriend. MyFriend是包含帐户RecordID的Reference.

如何检索作为我朋友的帐户名称
我需要查询Friends以@L_205_9@me是我的RecordID的所有记录,然后我需要使用这些记录的引用来从Account表中获取Names.

我尝试了以下但没有得到任何结果:

let preDicate = NSPreDicate(format: "Me = %@",recordID)
let query = CKQuery(recordType: "Friends",preDicate: preDicatE)
publicDB.performQuery(query,inZoneWithID: nil) { (results,error) -> Void in
    if error != nil {
        println("Error fetching from Friends table: \(error.description)")
    } else {
        for friend in results {
            var key = friend.objectForKey("MyFriend") as String
            self.publicDB.fetchRecordWithID(CKRecordID(recordName: key),completionHandler: { (record,error) -> Void in
                if error != nil {
                    println(error.description)
                } else {
                    self.friends.append(record.objectForKey("Name") as String)
                }
            })
        }
        dispatch_semaphore_signal(self.semaphorE)
    }
 }
 dispatch_semaphore_wait(self.semaphore,DISPATCH_TIME_FOREVER)`

解决方法

如果MyFriend是CKReference,那么你不应该将它转换为字符串而是转换为CKReference,然后将其转换为recordID.recordName.所以代码看起来像这样

var myFriend = friend.objectForKey("MyFriend") as CKReference
var key = myFriend.recordID.recordName

大佬总结

以上是大佬教程为你收集整理的ios – 使用Swift对CloudKit进行CKReference全部内容,希望文章能够帮你解决ios – 使用Swift对CloudKit进行CKReference所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。