SwiftUI沼でゆっくり浸る 都道府県名セクション付きList用源泉Arry
こんにちは、川上です。
アプリのMasterのViewの作成です。
デフォルト形式の長いList行から、Detaile(郵便番号ListView)へ繋げるのは、ちと、イマイチだったので、47都道府県名を表示を検索窓付きエリア区別セクションTypeのListにしました。
47都道府県名のList表示用の源泉データArryをVMのinit()で、const風に頑張って作成したのでした。
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 42 43 44 45 46 47 | import SwiftUI // == MARK: Master View用 地域+都道府県名 typealias tplAreaPostStr = (area: String,postss:[String]) // == MARK: Detail View用 地域+(都道府県名、zipURL) typealias tplAreaPost_Datas = (area: String,postss:[stTifuken]) // MARK: == 都道府県名とDL用URL型 struct stTifuken:Identifiable,Hashable { let id:String = UUID().uuidString let name:String let dl_url:String } class PostNumberViewModel:ObservableObject { ... // == MARK: Master View用 地域+都道府県名 @Published var tofukenAreaArry_Str:[tplAreaPostStr] = [] // == MARK: Detail View用 地域+(都道府県名、zipURL) @Published var tofukenAreaArry_Datas:[tplAreaPost_Datas] = [] init() { // MARK: == tofukenArryのセクション付きList Data作成 getTofukenSectionArry() } .... // MARK: == tofukenArryのセクション付きList Data作成 func getTofukenSectionArry() { self.tofukenAreaArry_Str.append (contentsOf: [ (area:"北海道",postss:["北海道"]) ,(area:"東北",postss:["青森県","岩手県","宮城県","秋田県","山形県","福島県"]) ,(area:"関東",postss:["茨城県","栃木県","群馬県","埼玉県","千葉県","東京都","神奈川県"]) .... ]) self.tofukenAreaArry_Datas.append (contentsOf: [ (area:"北海道" ,postss:[stTifuken(name:"北海道" ,dl_url:"https://www.post.japanpost.jp/zipcode/dl/kogaki/zip/01hokkai.zip")]) ,(area:"東北" ,postss:[stTifuken(name:"青森県" ,dl_url:"https://www.post.japanpost.jp/zipcode/dl/kogaki/zip/02aomori.zip") ,stTifuken(name:"岩手県" ,dl_url:"https://www.post.japanpost.jp/zipcode/dl/kogaki/zip/03iwate.zip") ..... } } |
で、このArryから、Master-Viewの表示作りへと続くのでした。
ではでは。