通过触发API
,我得到一个标题列表,我将其存储在一个数组中,如此...
self.arr1.updateValue(user, forKey: "title") and
self.sampleArray.append(self.arr1["title"] as! String)
现在sampleArray
拥有我需要的所有标题,我需要根据这些标题进行过滤。我的coredata模型有一个名为Posts
的实体,属性content
,title
。
另外,目前这就是我过滤的方式..
filtered = sampleArray.filter({ (text) -> Bool in
let tmp: NSString = text as NSString
let range = tmp.range(of: searchText, options: NSString.CompareOptions.caseInsensitive)
return range.location != NSNotFound
})
这里,sampleArray只有一个名称列表,这些名称被添加到名为' filtered'的数组中。但问题是,在单击一行时,我们使用segue转到webview,并且webview在段落中有一些内容。单击每一行显示带有不同数据的webview。通过上面的这个过滤,当我点击过滤后得到的行时,显示的webview数据不正确。换句话说,我无法弄清楚如何传递正确的数组,以便显示正确的webview内容。
我的实体'帖子'具有属性' title'和'内容'。如果我可以过滤帖子然后从中获取标题,那么我想我也可以获得内容。但我无法弄清楚如何做到这一点。
答案 0 :(得分:0)
点击过滤结果后,适当的内容是什么意思?通常,您可以使用 filteredArrayUsingPredicate 或过滤器方法过滤值列表。
答案 1 :(得分:0)
在基于托管对象数组进行搜索时,您只是根据属性进行搜索。试试这种格式...
filtered = self.arrayOfYourManagedObjectType.filter { ($0.title?.lowercased().contains(searchText.lowercased()))! }