【发布时间】:2014-09-01 21:20:39
【问题描述】:
我正在尝试动态创建谓词并执行提取。
值可以是 String 或 Int,当 int 值被发送到 NSPredicate 初始化程序时,它会崩溃并出现以下错误:
-[__NSCFNumber rangeOfString:]:无法识别的选择器发送到实例
我知道问题是 Int 的 %@ 格式,但是有没有办法使这种动态化,这样我就不必手动检查 String 和 Int 然后创建谓词?
var keyValues: [String: AnyObject]
var predicates: [NSPredicate]()
for (key, value) in keyValues {
var predicate = NSPredicate(format: "%K = %@", key: [value])
predicates.append(predicate)
}
var compundPredicate = NSCompoundPredicate.andPredicateWithSubpredicates(predicates)
【问题讨论】:
标签: swift nspredicate