过滤UISearchBar中的撇号(特殊字符)- Swift、Xcode

lzfw57am  于 2023-01-25  发布在  Swift
关注(0)|答案(2)|浏览(145)

我目前有一个运行良好的UISearchBar,但是,我注意到当在searchBar中输入撇号时,它不会返回任何结果。例如:如果我有一个字符串:Bob's如果我搜索Bob,它会返回上述字符串,但是,只要我在searchBar中输入撇号:**Bob'**搜索栏不返回任何结果。
我已经在网上搜索解决方案,但是,没有找到任何工作。任何回应将不胜感激,谢谢。
UI搜索条形码:

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
    if searchText.isEmpty {
        filteredData = data
    } else {
        filteredData = data.filter{$0.title.range(of: searchText, options: .caseInsensitive) != nil }
    }
    self.tableView.reloadData()
}

}
结构:

struct Category {
    let title: String

    let items: [String]
}

阵列:Category(title: "Bob's ", items: ["Data: xxx", "Data: xxx", "Data: xxx",]),
函数处的单元格行:

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! MyTableViewCell

        let title = filteredData[indexPath.row].title

          cell.myLabel.text = title

          cell.myImg.image = UIImage(named: title + ".png")

          return cell

    }

}

**在searchBar中键入撇号时控制台中返回的输出:**filteredData = []

zbdgwd5y

zbdgwd5y1#

这个问题已经解决了。原来撇号有很多变体。有U+0027(')和U+2019(')。U+2019(')是iPhone上的默认撇号,可以与上面的UISearchBar代码一起使用。希望这能帮助任何和我有同样问题的人。

0tdrvxhp

0tdrvxhp2#

我能够解决同样的问题,通过改变文本输入的特点,在故事板的UISearchBar如下。希望这有助于

相关问题