NSPredicate在UUID字段上返回空数组

时间:2019-05-02 18:38:53

标签: ios swift core-data uuid cloudkit

我有一个基于谓词从核心数据中获取某些实体的方法(请参见下文)。它通过了单元测试,并且大部分时间都在实际代码中运行。

let request = NSFetchRequest<T>()
request.predicate = NSPredicate(format: "myUUID.UUIDString == %@", someUUIDString)
request.entity = entityDescription

然后,我使用CKFetchRecordZoneChangesOperation进行了CloudKit集成。现在,仍在获取核心数据实体的相同方法已停止返回实体。我已经三重检查了我是否传入了肯定存在于核心数据中的有效uuid字符串。它不返回任何结果。

经过大量调试,我得出结论,如果我使用以下代码,则可以正常工作。假设该字段是UUID而不是字符串,怎么可能?

let request = NSFetchRequest<T>()
request.predicate = NSPredicate(format: "myUUID == %@", someUUIDString)
request.entity = entityDescription

有人遇到过类似的问题吗?预先感谢您的帮助。

0 个答案:

没有答案