swift - NSPredicate 与 Swift 和核心数据

标签 swift

我有一个核心数据对象,我有 2 个字段(一个字符串(GUID)和一个我想用作过滤器的 Int)

因此在 SQL 中它将是“SELECT * FROM Answers WHERE qIndex = 1 AND GUID = '88bfd206-82fb-4dd0-b65d-096f8902855c'

我用 Core Data 尝试过,但我无法使用字符串值进行过滤。

这是我的代码

    var request = NSFetchRequest(entityName: "Answers")
    request.returnsObjectsAsFaults = false;

    let resultPredicate1 = NSPredicate(format: "qIndex = %i", qIndex)
    let resultPredicate2 = NSPredicate(format: "formUUID = %s", formUUID)

    var compound = NSCompoundPredicate.andPredicateWithSubpredicates([resultPredicate1, resultPredicate2])
    request.predicate = compound


    var results:NSArray = context.executeFetchRequest(request, error: nil)

知道我做错了什么吗?使用相同的代码和 2 个整数值的过滤器,它工作正常。

提前致谢

最佳答案

如果 formUUID 是一个 NSString 或一个 Swift String 那么你必须使用 %@ 占位符:

let resultPredicate2 = NSPredicate(format: "formUUID = %@", formUUID)

关于swift - NSPredicate 与 Swift 和核心数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24855159/

相关文章:

swift - 在 Swift 中为 macOS 构建框架时出错

swift - 我们应该在方法的第一个参数中添加外部参数名称吗?为什么?

ios - 按下按钮时发生的操作 - 快速

ios - AVAudioEngine 输入上的点击麦克风不起作用

ios - Next Button 就像 Navigation 的 Back Button

objective-c - swift 中的 keysSortedByValueUsingComparator

ios - Swift - UIToolbar 项目选择状态

ios - Swift - 试图获取当前位置

swift - 有没有办法可以将 KVP 字典转换为字符串?

json - Swift - 解析 JSON 并检索数据