【发布时间】:2020-03-13 10:57:55
【问题描述】:
我从 API 调用中得到了两个数组,
一个是 nameArray - 其中包含配方名称(menuNameArray = ["pohe","bread","cheese chilli toast"]
还有另一个数组 - 包含这些食谱的价格(menuPriceArray = ["10", "40", "120"]。
我从 API 调用中得到了这两个数组。
我在表格视图上显示这两个数组,并且我正在通过 menuNamesArray 进行搜索,因为我想按配方名称进行搜索。
我通过从 menuNameArray 中搜索来获取食谱名称。现在我希望 menuPriceArray 也根据搜索到的 menuName Array 得到更新。 意味着如果我搜索“面包”,那么我必须将价格值设为“40”,并相应地获取其他名称。
我应该如何对第二个数组执行这样的过滤?
我的代码片段 -
//MARK: UISearch result update delegate
func updateSearchResults(for searchController: UISearchController) {
// here arrFilter is the resulting array to sotre searched items from menuNamesArray
arrFilter.removeAll(keepingCapacity: false)
let searchPredicate = NSPredicate(format: "SELF CONTAINS[c] %@", searchController.searchBar.text!)
let array = (menuNamesArray as NSArray).filtered(using: searchPredicate)
let result = menuPriceArray.firstIndex(of: array.startIndex)
arrFilter = array as! [String]
self.tblSearch.reloadData()
//here now I got the searched menu names, Now I want prices for searched menu names from menuPrice Array..
}
【问题讨论】:
-
将两个数组合并为一个包含名称和价格的适当结构的单个数组
-
你肯定尝试过 something。请edit 使用您的实际代码回答您的问题。如果不表现出至少一些努力,您很可能不会收到答案。