0
Ich habe Helden Objekt wie folgen aus:Suche Objekt in Collection
import Foundation
import UIKit
class Hero {
var name: String!
var image: UIImage? {
return UIImage(named: "\(name)")!
}
required init(name: String) {
self.name = name
}
}
Ich will Helden auf der Suchleiste suchen, hier ist meine Suchfunktion:
func filterContentForSearchText(searchText:String) {
let searchBarTemp = searchBar
heroesFiltered = heroes.filter { (hero) -> Bool in
if hero.name.lowercaseString == searchBarTemp!.text?.lowercaseString {
return true
}
return false
}
}
Aber wenn ich es suche nicht Wenn ich den Text in searchBar ändere, ist das Array leer.
Ich versuche auch mit NSPredicate suchen:
func filterContentForSearchText(searchText:String) {
heroesFiltered = []
let searchPredicate = NSPredicate(format: "SELF CONTAINS[c] %@", self.searchBar!.text!)
let array = (heroes as NSArray).filteredArrayUsingPredicate(searchPredicate)
heroesFiltered = array as? [Hero]
}
Aber es stürzt auf dieser Linie:
let array = (heroes as NSArray).filteredArrayUsingPredicate(searchPredicate)