You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在iOS开发中通过UISearchBar搜索框实现数据筛选与获取

搜索栏实现数据检索的实现方法

实现思路

  • 提前准备两个数组:一个是存储全量待检索数据的原始数组,另一个是存储匹配结果的过滤数组,列表/表格最终展示的是过滤数组的内容
  • 给搜索栏设置代理,监听搜索栏的文本变化事件,每次用户输入内容时触发检索逻辑
  • 检索逻辑处理规则:
    • 若搜索栏输入为空,直接把全量原始数据赋值给过滤数组,展示全部内容
    • 若搜索栏有输入内容,遍历原始数组,将内容和搜索关键词都转为小写后做模糊匹配,所有匹配到的内容存入过滤数组
  • 检索完成后刷新列表视图,渲染最新的检索结果

参考实现代码(Swift)

@IBOutlet weak var searhBar: UISearchBar!
// 原始全量数据源数组
var arr = NSMutableArray()
// 过滤后的结果数组,表格实际渲染该数组内容
var filterdata = NSMutableArray()

// UISearchBar文本变化代理方法
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
    // 清空上一次的过滤结果
    filterdata = []
    if searchText == "" {
        // 搜索框为空时展示全部数据
        filterdata = arr
    } else {
        // 遍历原始数组做模糊匹配
        for items in arr {
            if let txt = items as? String {
                // 不区分大小写匹配
                if txt.lowercased().contains(searchText.lowercased()) {
                    filterdata.add(txt)
                }
            }   
        }
    }
    // 刷新表格渲染最新结果
    self.tblView.reloadData()
}

内容的提问来源于stack exchange,提问作者deepak bawa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 19:24:03