2017-03-15 3 views
2

Ich bin neu in der Entwicklung von iOS-Apps.Wert des Typs 'string' hat kein Mitglied 'containsString'

Ich implementiere Suchleiste programmatisch in Swift 3.

Wenn ich Inhalt für Search Controller aktualisiert habe, erhalte ich diesen Fehler.

Wert vom Typ 'string' hat kein Mitglied 'containsString'

auf dieser Linie:

return categoryMatch && 
candy.name.lowercaseString.containsString(searchText.lowercaseString) 

dieser Code:

func updateSearchResultsForSearchController(searchController: UISearchController) { 
     func filterContentForSearchText(searchText: String, scope: String = "All") { 
      filteredCandies = candies.filter { candy in 
       let categoryMatch = (scope == "All") || (candy.category == scope) 
       return categoryMatch && candy.name.lowercaseString.containsString(searchText.lowercaseString) 
      } 

      tableView.reloadData() 
     } 
    } 
+0

wo Sie Fehler bekommen? –

+6

Wenn Sie Swift 3 verwenden, verwenden Sie stattdessen 'yourString.contains()'. – nynohu

+0

Über welche Version von Swift sprechen Sie? Fügen Sie die Informationen in der Frage hinzu oder verwenden Sie geeignete Tags. Wenn es Swift 3 ist, werden Sie viel mehr Fehler in diesem Code bekommen. – vadian

Antwort

5

Wenn Sie‘ Verwenden Sie swift 3, und ändern Sie dann diese Zeile

return categoryMatch && candy.name.lowercaseString.containsString(searchText.lowercaseString) 

zu

return categoryMatch && candy.name.lowercased().contains(searchText.lowercased()) 
+0

ersetzen Kleinbuchstaben Strings mit Lowcased() gearbeitet. Vielen Dank –

Verwandte Themen