0
我改变我的2列...如何搜索结构(SWIFT)
var title = ["Title 1", "Title 2", "Title 3"]
var artist = ["Artist 1", "Artist 2", "Artist 3"]
...一个struct
struct Song {
var title: String
var artist: String
}
var songs: [Song] = [
Song(title: "Title 1", artist "Artist 1"),
Song(title: "Title 2", artist "Artist 2"),
Song(title: "Title 3", artist "Artist 3"),
]
设置我UITableView
,这样的标题单元格等于songs[indexPath.row].title
,并且单元格的字幕等于songs[indexPath.row].artist
。我想用UISearchBar
来搜索UITableView
。每当我只有变量而不是结构时,它运行良好。但是,现在我对
var filteredTitles:[String] = []
var searchActive : Bool = false
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
filteredTitles = title.filter //the error ({ (text) -> Bool in
let tmp: NSString = text as NSString
let range = tmp.range(of: searchText, options: NSString.CompareOptions.caseInsensitive)
return range.location != NSNotFound
})
if(filteredTitles.count == 0){
searchActive = false;
} else {
searchActive = true;
}
self.myTableView.reloadData()
}
发现错误正如你所看到的,就行了filteredTitles = title.filter
它调用我的老变量,title
。我应该怎样替换这一行,以便它搜索结构的标题?
感谢您的帮助!