你好我正在研究swift。我需要知道如何找到与确切字符串匹配的结果。这是我的代码
let userID: String = String(sender.tag)
// Create a Predicate with mapping to trip_id
let filterByRequest: NSPredicate = NSPredicate(format: "%K.%K CONTAINS[c] %@", "ProductRequest", "user_id", userID)
// Filter your main array with predicate, resulting array will have filtered objects
let filteredArray: [AnyObject] = self.array.filteredArrayUsingPredicate(filterByRequest)
问题是如果用户ID为69,则显示id为69,6和9的用户的结果。
我用谷歌搜索,但我发现一些答案接近我的问题,但它们都是客观的C。
答案 0 :(得分:2)
在谓词中使用 MATCHES ,如下所示:
let filterByRequest: NSPredicate = NSPredicate(format: "%K.%K MATCHES %@", "ProductRequest", "user_id", userID)
希望有所帮助......
答案 1 :(得分:0)
要测试完全相同,只需使用==
代替CONTAINS
:
NSPredicate(format: "%K.%K == %@", ...)
对于不区分大小写的相等,这也可以与[c]
结合使用:
NSPredicate(format: "%K.%K ==[c] %@", ...)