gpt4 book ai didi

ios - 类型 'x' 的值没有成员“小写”

转载 作者:行者123 更新时间:2023-11-28 14:29:36 24 4
gpt4 key购买 nike

我尝试在我的表格 View 中实现搜索栏。但我收到这个错误 “getUserData”类型的值在此代码中没有成员“小写”

filteredDataBySearch = dataSourceArray.filter({ (data:String) -> Bool in
return data.lowercased().rangeOfString(searchText.lowercased()) != nil
})

这是我的代码:

@IBOutlet weak var FSuserLIst: UITableView!
var dataSourceArray1 = [getUserData]()
var dataSourceArray2 = [getUserData]()
var dataSourceArray3 = [getUserData]()
var dataSourceArray4 = [getUserData]()
let searchBar = UISearchBar()
var showSearchResults = false
var filteredDataBySearch = [getUserData]()

这是我的搜索功能

func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {

showSearchResults = true
searchBar.endEditing(true)
self.FSuserLIst.reloadData()

}

func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {

if segmentedData.selectedSegmentIndex == 0 {

filteredDataBySearch = dataSourceArray.filter({ (data:String) -> Bool in

return data.lowercased().rangeOfString(searchText.lowercased()) != nil
})

if searchText != "" {

showSearchResults = true
self.FSuserLIst.reloadData()
} else {
showSearchResults = false
self.FSuserLIst.reloadData()
}
}

else if segmentedData.selectedSegmentIndex == 1 {

filteredDataBySearch = dataSourceArray1.filter({ (data:String) -> Bool in

return data.lowercased().rangeOfString(searchText.lowercased()) != nil
})

if searchText != "" {

showSearchResults = true
self.FSuserLIst.reloadData()
} else {
showSearchResults = false
self.FSuserLIst.reloadData()
}
}

else if segmentedData.selectedSegmentIndex == 2 {

filteredDataBySearch = dataSourceArray2.filter({ (data:String) -> Bool in

return data.lowercased().rangeOfString(searchText.lowercased()) != nil
})

if searchText != "" {

showSearchResults = true
self.FSuserLIst.reloadData()
} else {
showSearchResults = false
self.FSuserLIst.reloadData()
}
}

else if segmentedData.selectedSegmentIndex == 3 {

filteredDataBySearch = dataSourceArray3.filter({ (data:String) -> Bool in

return data.lowercased().rangeOfString(searchText.lowercased()) != nil
})

if searchText != "" {

showSearchResults = true
self.FSuserLIst.reloadData()
} else {
showSearchResults = false
self.FSuserLIst.reloadData()
}
}
}

“getUserData”是具有超过 10 个 var 的类,它位于另一个 swift 文件中。

非常感谢任何帮助,谢谢。

最佳答案

您正在尝试将 getUserData 类转换为小写。你想访问这个类中的一个字符串然后转换它。我还没有测试过这个,但你正在寻找类似的东西。

filteredDataBySearch = dataSourceArray.filter({ (userData:MyUserDataClass) -> Bool in

let data = userData.myStringInThisClass.lowercased()

return data.contains(searchText.lowercased())
})

这将在类中获取一个变量,该变量是一个字符串并将其转换为小写。

作为旁注,典型的约定是对类名使用大写字母,即。 MyClass

关于ios - 类型 'x' 的值没有成员“小写”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51354352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com