Swfitのタプルの使い方は検索するとよく出てくる。
「じゃあ、タプルって実際の現場でどうやって使うねん!」
と思ったので、自分の使いどころを紹介。
ここに挙げる使い方が良いのかどうかはわかりません。
オブジェクトとUIのパーツをセットでもっておきたいとき
例えば、UIButtonとオブジェクトがセットになっていて、
ボタンをタップしたときに、オブジェクトを参照して何かしたいとき。
例えば、以下のコードの用に、ニュースのカテゴリごとにボタンを用意するようなケースの場合。
1 2 3 4 5 6 7 8 9 |
//全ニュースカテゴリを取得。 let newsCategories = DataManager.shared.getNewsCategories() for category in newsCategories { let button = UIButton(type: .system) button.titleLabel?.text = category.name //要素追加。 self.buttons.append((category, button)) } |
で、ボタンをタップしたときに、その後ボタンに紐づくカテゴリを使ってカテゴリに紐づくニュースを取得。
1 2 3 4 5 6 7 8 9 10 |
@IBAction func buttonTapped(_ sender: UIButton) { //タップされたボタンに紐づくNewsCategoryを取得して、 //その後、色々処理をする。 for (category, button) in self.buttons { if button === sender { self.currentNews = DataManager.shared.getNews(category: category) break } } } |
まぁ上の例では、他のやり方が色々あると思うけど、こんな使い方をしたことはあります。
コメント