从 UICollectionView 中搜索数组
Search for an Array from a UICollectionView
我正在制作一个应用程序,用户可以在其中搜索 UICollectionView 中的图像名称。目前,用户可以为每个图像命名,名称存储到一个名为 arrayOfName 的数组中。
我添加了一个搜索栏,我可以使用以下方法成功测试其文本:
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if (searchText.lowercased() == "test") {
print("TEST")
}
}
和
func addImgNames() {
for _ in 0...20 {
imgNames.append("imageNames")
}
}
这是现在用户命名的图片:
let arrayOfNames = defaults.object(forKey: "imageNames") as? [Optional] ?? [String]()
if let nameOfImage = (arrayOfNames[imgCell]) {
self.navigationItem.title = nameOfImage
此外,搜索栏委托和 arrayOfNames 函数在两个单独的 类 中,这使得它变得更加困难。
如何测试存储在数组中的名称?
谢谢!!
你应该过滤你的数组,例如:
arrayOfNames.filter {[=10=].searchInfo.contains(searchText.lowercased())}
对于访问 arrayOfNames,您可以将其设为全局,或者如果您使用 performWithSegue 和 prepareForSegue 更改视图,则只传递它。
我正在制作一个应用程序,用户可以在其中搜索 UICollectionView 中的图像名称。目前,用户可以为每个图像命名,名称存储到一个名为 arrayOfName 的数组中。
我添加了一个搜索栏,我可以使用以下方法成功测试其文本:
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if (searchText.lowercased() == "test") {
print("TEST")
}
}
和
func addImgNames() {
for _ in 0...20 {
imgNames.append("imageNames")
}
}
这是现在用户命名的图片:
let arrayOfNames = defaults.object(forKey: "imageNames") as? [Optional] ?? [String]()
if let nameOfImage = (arrayOfNames[imgCell]) {
self.navigationItem.title = nameOfImage
此外,搜索栏委托和 arrayOfNames 函数在两个单独的 类 中,这使得它变得更加困难。
如何测试存储在数组中的名称?
谢谢!!
你应该过滤你的数组,例如:
arrayOfNames.filter {[=10=].searchInfo.contains(searchText.lowercased())}
对于访问 arrayOfNames,您可以将其设为全局,或者如果您使用 performWithSegue 和 prepareForSegue 更改视图,则只传递它。