Swift フィルターのオブジェクト配列 質問する

Swift フィルターのオブジェクト配列 質問する
class book{
    var nameOfBook: String!
}

var englishBooks=[book(),book(),book()]
var arr = englishBooks.filter {
    contains($0.nameOfBook, "rt")
}

このフィルターを使用していますが、エラーが発生し、引数でフィルターを呼び出すことができません

ベストアンサー1

contains()シーケンスに指定された要素が含まれているかどうかを確認します。たとえば、 にString指定された が含まれているかどうかを確認します。Character

名前に部分文字列「rt」の場合は、次を使用できますrangeOfString():

var arr = englishBooks.filter {
    $0.nameOfBook.rangeOfString("rt") != nil
}

または大文字と小文字を区別しない比較の場合:

var arr = englishBooks.filter {
    $0.nameOfBook.rangeOfString("rt", options: .CaseInsensitiveSearch) != nil
}

現在スイフト2、使用できます

nameOfBook.containsString("rt") // or
nameOfBook.localizedCaseInsensitiveContainsString("rt")

そしてスイフト3これは

nameOfBook.contains("rt") // or
nameOfBook.localizedStandardContains("rt") // or
nameOfBook.range(of: "rt", options: .caseInsensitive) != nil

おすすめ記事