iOS

[Swift3] SwitchとEnumを使ってSectionやCellを指定する

投稿日:2017年10月18日 更新日:

はじめに

どうも、はじめです。

今回はSectionやCellの指定にSwitchとEnumを使ってみようと思います。
SwitchとEnumを使用するメリットとしてはEnumのすべてのCaseを網羅していないとエラーになってしまうため
漏れが無くなるところにあります。
複数人で開発をしている時などにとても便利ですね。

今回は例としてCellのTitleをEnumのCase毎に変更してみようと思います。

実行結果は以下のようになります。

 

 

では早速。

 

環境

・Xcode 8.3.3
・Swift 3

 

Enumの用意

まずは使用するEnumを用意します。

上記のままだとCell数を返す時のcountが返せません。
調べてみてもあまり気持ちい書き方が見当たらずもやもやするところもありますが、
以下を追記することでcountを返すことができます。

 

Tableの用意

通常通りTableの用意をしておきます。

1. StoryBoard上でTableViewを追加し、delegateとdatasourceを設定
2. ViewControllerにUITableViewDelegateとUITableViewDataSourceを継承させる
3. UITableViewDataSourceの実装必須メソッドを追記

 

Cellの返却にEnumを使用する

さて、ようやく本題に来ました。
まずはCell数を返します。
Enumの用意の際にEnumのCaseの数を取得できるようにしていたので
以下を記述するだけでCaseの数を取得することができます。

 

次にEnumのCase毎にCellのTitleを変更させます。

ここで使用するCaseにEnumのすべてのCaseが使用されていなければエラーとなります。
また、SwitchにEnumを使用することでDefaultを記述する必要がなくなります。
こうすることによって網羅していなければいけない箇所でも漏れがなくなります。

 

以上で完成です。
完成後のソース全量を表示しておきます。

 

さいごに

SwitchとEnumの組み合わせは他にもいろいろな場所で利用できると思います。
今回はCellに使用しましたが、TableやCollectionだけでもSectionに使用したり
HeightやLayoutの変更に使用したりとかなり便利だと思います。

最後まで見ていただきありがとうございました。

blog-page_footer_336




blog-page_footer_336




-iOS
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

swift

SwiftでTTTAttributedLabelの文字列からリンク表示

1 はじめに2 TTTAttributedLabelとは3 CocoaPodsでインストール4 実装4.1 Labelの表示4.2 タップの検知5 さいごに はじめに こんにちは。 はじめましてnuk ...

swift

[Swift 3] テキストの装飾(フォント・文字サイズ・文字間隔・行間・文字色・下線)

1 はじめに2 フォント・文字サイズ変更3 文字間隔4 行間5 文字色6 下線7 さいごに8 おすすめ書籍 はじめに どうもはじめです。 今回は文字の装飾をやってみようと思います。 完成図を載せておき ...

【Swift】Tesseract-OCR-iOSを使って文字の読み取り

1 はじめに2 導入準備2.1 ライブラリのインポート2.2 言語モデルのインポート2.3 カメラを利用する準備3 レイアウト作成4 カメラ撮影5 データ解析5.1 UIImageのエクステンション5 ...

【Swift】スクリーンショットの検知

1 はじめに2 スクショを検知する方法3 使い方4 さいごに5 おすすめ書籍 はじめに こんにちは、suzukiです。今回はユーザがスクリーンショットを取得した場合を検知にする方法についてです。 使わ ...

swift

[Swift3] ナビゲーションバーとステータスバーの色変更

1 はじめに1.1 前提条件2 ナビゲーションアイテムの色変更3 ナビゲーションバーの色変更4 ナビゲーションタイトルの色変更5 ステータスバーの色変更6 さいごに はじめに どうも、はじめです。 今 ...

フォロー

blog-page_side_responsive

2017年10月
1234567
891011121314
15161718192021
22232425262728
293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。