arrays – Swift 1.2按关键字过滤一个Structs数组
发布时间:2020-12-14 04:44:00 所属栏目:百科 来源:网络整理
导读:我需要帮助过滤一系列Structs. 这就是我目前正在做的事情,它过滤数组但不正确. 例如,假设我使用“Mid”搜索数组中的项目我有一个应该显示的项目但是显示的项目以“Bad”开头. var array = breweries.filter() { $0.name?.lowercaseString.rangeOfString(sear
|
我需要帮助过滤一系列Structs.
这就是我目前正在做的事情,它过滤数组但不正确. var array = breweries.filter() { $0.name?.lowercaseString.rangeOfString(searchController.searchBar.text.lowercaseString) != nil }
results = array
这是我的结构 struct Breweries {
let name: String?
let breweryId: String?
let distance: Double?
let largeIconURL: String?
let streetAddress: String?
let locality: String?
let region: String?
let phone: String?
let website: String?
init(brewDictionary: [String: AnyObject]) {
name = brewDictionary["brewery"]?["name"] as? String
breweryId = brewDictionary["breweryId"] as? String
distance = brewDictionary["distance"] as? Double
largeIconURL = brewDictionary["brewery"]?["images"]??.objectForKey("large") as? String
streetAddress = brewDictionary["streetAddress"] as? String
locality = brewDictionary["locality"] as? String
region = brewDictionary["region"] as? String
phone = brewDictionary["phone"] as? String
website = brewDictionary["website"] as? String
}
}
请指出正确的方向! 注意:我使用的是Swift 1.2 更新: 我认为视频有助于更好地解释我想要做的事情. Demo Of issue 我想要的是找到过滤数组,以便只显示具有类似名称的项目. 更新2:事实证明,当我的UISearchController处于活动状态时,我忘了处理这个案例. 解决方法
假设您的Struct名称是Breweries并且它具有name属性,请尝试以下操作:
let array = breweries.filter() {
($0.name!.lowercaseString as NSString).containsString(searchController.searchBar.text.lowercaseString)
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
