作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
不确定主题行是否有意义,我有一个运行良好的 NSCompoundPredicate
,它在 24 小时内查询日期,如果记录被“阻止”,并且也只返回我的自定义记录“类型”。
我所说的自定义类型是指值可以是 1、2 或 3。所以我希望我的查询返回类型 2 和 3 的值,它们有效。但是,对于奇特的部分,当有 3 时,云工具包数据库中的“用户名”值下也会有一个字符串值。在类型 2 下,用户名将为空。
所以我想返回所有用户名为“Smith”的类型 3,然后还返回所有没有用户名的类型 2。我在获取用户名为 smith 的类型 2 和类型 3 时遇到问题,按照我的方式,它只返回名称为 smith 的用户,不返回任何类型 2。需要一种使 UserName 谓词可选的方法吗?
代码:
let predName = NSPredicate(format: "UserName CONTAINS %@", "Smith")
let customTypes = [2, 3]
let time = 86400
let fromDateDay: Double = (NSDate().timeIntervalSinceReferenceDate - time)
let predDate = NSPredicate(format: "date >= %f", fromDateDay)
let predBlocked = NSPredicate(format: "blocked != %d", 1)
pred = NSCompoundPredicate(andPredicateWithSubpredicates: [customTypes, predDate, predBlocked, predName])
最佳答案
首先,customTypes
不是谓词,因此您发布的代码应该会崩溃。您需要构建一个考虑到自定义类型 2 和 3 之间差异的谓词。
NSPredicate(format:
"(customType = 2 && userName contains %@) || (customType = 3)", "Smith")
关于swift - 将 NSPredicate/NSCompoundPredicate 与 Where 子句或可选返回值一起使用,CloudKit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34501835/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!