SwiftUI沼でゆっくり浸る sortするSection付きList表示用Arry
こんにちは、川上です。
アプリのMaster-Detail型のMaster-viewの都道府県名(section付きlist表示用arryから)を検索する件の続きです。
1 2 | // MARK: === 検索 & Filter let retTpl = vm.getSortHitArry_All(item_idx,self.searchText) |
検索結果が、結構多いタプルでレスになってます。
戻ってるデータの概要は、
var aleas :[String] = [] ・・エリア名(東北、関東、関西・・・)
var childs :[String] = []・・ エリア内の都道府県名
var aleasidxs :[Int] = []・・ エリア位置のDetail-viewへの連携用
var childsidxs :[Int] = []・・エリア内の都道府県名位置のDetail-viewへの連携用
です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | func getSortHitArry_All(_ keyIndex:Int,_ searchText:String ) -> (Aleas:[String] ,Childs:[String] ,AreasIdxs:[Int] ,ChildsIdxs:[Int] ) { var aleas :[String] = [] var childs :[String] = [] var aleasidxs :[Int] = [] var childsidxs :[Int] = [] let results = tofukenAreaArry_Datas[keyIndex].postss.filter { searchText.isEmpty || $0.name .lowercased() .contains(searchText.lowercased()) } if results.count > 0 { aleas.append(tofukenAreaArry_Datas[keyIndex].area) aleasidxs.append(keyIndex) } if results.count > 0 { for res in results { childs.append(res.name) for (idx,_) in tofukenAreaArry_Datas[keyIndex].postss.enumerated() { let pst = tofukenAreaArry_Datas[keyIndex].postss[idx] if res.name == pst.name { childsidxs.append(idx) break } } } } return (Aleas:aleas,Childs:childs,AreasIdxs:aleasidxs,ChildsIdxs:childsidxs) } |
その後、郵便番号のDetail-viewへの表示へと続くのでした。。
ではでは。