データソースが[String:[User]という辞書の意味でコンタクトビューのように見えるテーブルビューをユーザーに表示しています]]だから私はセクション名をユーザー名の最初の文字で表示しています。オブジェクト配列内の特定のキーの型[String:[object]]のフィルタ辞書
ここで、ユーザーの名前で検索できるようにしたいのですが、これを動作させることはできません。
これらは辞書です...友人がこの["A" :[Users whose first name start with an A]]
のようなデータを保持しますので、
var friends = [String: [User]]()
var filteredFriends = [String: [User]]()
にこれはsearchText
は私が
self.filteredFriends = self.friends.filter{friend in
return friend.firstName.lowercased().contains(searchText)}
で検索したい最初の名前であることと私のフィルタリングコードです
私がしたいのは、filteredFriends
のすべての値がfriends
で、ユーザーの最初の名前がテキストで始まるということです。
私のような辞書でこの作業を行うにはどうすればよいですか?
おかげ
詳細:
Class User {
var firstName: String?
init(name: String){
self.firstName = name
}
}
サンプルシナリオ:
friends = ["A" : [User(name: "Anthony), User(name: "Arnold")], "B" : [User(name: "Barry")]]
filteredFriends = friends
searchText = "an"
希望filteredFriends(最終結果)= ["A" : [User(name: "Anthony)]]
サンプル入力し、所望の出力を提供してください。また、ユーザーの宣言を提供します。言い換えれば、私たちが必要なコードを構築するために必要なすべての情報を提供します。 – matt
@matt question updated – Walker
非常に良い、ありがとう。 – matt