我有一个视图,里面有一个tableview,并在单元格内显示一个带有uislider的单元格。在CellForRow里面我尝试调用一个函数来按ListController内的距离过滤公司列表,如下所示:
var listController: ListController!
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier(sortCellID) as! SortCell
cell.slider.addTarget(listController, action: #selector(listController.sliderChanged(_:)), forControlEvents: .ValueChanged)
return cell
}
sliderChanged函数位于ListController中,如下所示:
class ListController: UIViewController {
func sliderChanged(sender: UISlider) {
for index in 0..<self.companies.count {
if companies[index].distance > sender.value {
// Do something
}
}
}
公司是一个Company()数组,其属性为latitude
和longitude
。
我想根据滑块的值过滤公司数组,例如,如果滑块值为45,则在ListController中显示距离为0到45的所有公司。我不确定这个函数到目前为止是多么正确,或者我需要做些什么来使函数做我想做的事。