CKRecord fetch 返回 1 条记录,RecordID 为空
Posted
技术标签:
【中文标题】CKRecord fetch 返回 1 条记录,RecordID 为空【英文标题】:CKRecord fetch return 1 record with empty RecordID 【发布时间】:2018-11-16 18:12:15 【问题描述】:从 iCloud 容器中获取记录,但没有 RecordID。同时在网站上的面板中,我看到了它。我试图从另一个应用程序中提取记录,我在设置中注册了必要的容器 - 并且它被正确提取。
我不明白 - 这是 Xcode 的一个错误?毕竟,提取代码在第二个应用程序中是相同的,一切正常。并且在左下角的调试器中可以看到 RecordID 不为空。
代码:
privateDatabase.perform(query, inZoneWith: nil) (results, error) -> Void in
if error != nil
print(error!.localizedDescription)
result(false)
else if results != nil, results!.count > 0, let me = results?[0]
let RN = (me[.recordID] as! CKRecord.ID).recordName
错误:
线程 2:致命错误:在展开可选值时意外发现 nil
变量查看控制台:
_recordName __NSCFString * @"UA-kuka-2018-11-16 11:27:59" 0x00000001c0644320
【问题讨论】:
【参考方案1】:获取CKRecord
的recordID
的正确方法是使用recordID
属性。
假设me
实际上是一个CKRecord
:
let RN = me.recordID.recordName
【讨论】:
但是recordID
不是键,它是CKRecord
的属性。
我的代码在另一个应用程序中完美运行。这让我很困惑。以上是关于CKRecord fetch 返回 1 条记录,RecordID 为空的主要内容,如果未能解决你的问题,请参考以下文章
如何将 PDO::FETCH_GROUP 与表连接一起使用,并且只返回按日期排序的连接表中的 3 条记录