【发布时间】:2015-09-14 03:33:07
【问题描述】:
在 swift 应用程序中使用 Realm DB。我正在尝试使用如下谓词过滤结果:
class func fetchUsersFromDB(usersId: [String]) -> [User]{
var users = [User]()
let realm = Realm()
let predicate = NSPredicate(format: "objectId IN %@", argumentArray: usersId)
var allUsers = realm.objects(User).filter(predicate)
users = Array(allUsers)
return users
}
但这不会编译。我收到此错误:
Terminating app due to uncaught exception 'Invalid value', reason: 'IN clause requires an array of items'
任何想法我做错了什么?
【问题讨论】:
-
它必须正在编译。你得到一个运行时异常
-
第 377 行,github.com/realm/realm-cocoa/blob/master/Realm/RLMQueryUtil.mm 表示不支持 Swift Array,他们不确认 NSFastEnumeration..
-
还有别的办法吗?我应该循环查询数组中的每个字符串吗?