【Swift】MVCで簡単なiphoneアプリを作ってみた【デザインパターン】

RubyやPHPの場合、railsやlaravelといったフレームワークがMVC構造で作成されているため、比較的容易にMVCでwebアプリを作ることができました。

しかし、Swift(iphoneアプリ)の場合、これといったMVC用のフレームワークがなく、自分でModel, View, Controllerを切り分けなければなりません。

そこで、今回は、簡単なiphoneアプリをMVC構造で作成したのでご紹介します。

今回は、このただのTableViewにタイトルをならべるだけのアプリをMVCでつくります。

ファイル構造はこのような形で、

  • View・・・描写するstoryboard
  • Model・・・表示するデータ一覧
  • Controller・・・Modelからデータを取得して、View(TableView)に描写する

という役割です。

View

こちらはただのTableViewControllerを配置しているだけですので、説明は割愛します。

TableViewControllerがよくわからない方はこちらの記事をご参照ください。

Model

データ一覧を保持しているModelです。

Modelディレクトリの中には2つファイルが入っていて、

  • Article.swift・・・記事単体の情報をもつクラス(データ型)
  • AllArticle.swift・・・Article型のlist

になっています。

Article.swift

AllArticle.swift

このように、Article.swiftでArticleクラスを作り、AllArticleクラスをインスタンス化したタイミングで、10個のArticleクラスがlist配列の中に入るようになっています。

Controller

最後にControllerです。Controllerの役割は、Modelからデータを持ってきて、Viewに表示すること。

今回は、AllArticleクラスをControllerでインスタンス化して、AllArticleクラスが持っている10個のArticleをTableViewに描写しています。

これで、ビルドすると、tableViewにAllArticleの内容が描写されます。

MVCで大規模アプリを作った経験はないので、いつか作ってみたいです!

ABOUTこの記事をかいた人

新卒ノマドエンジニアとして独立し、半年で月収100万円を達成する。フリーランスのエンジニアとして活動しながら、事務所を売却(バイアウト)したり、Youtuber(最高月間視聴回数109万回、チャンネル登録者1万人)をしたり、Openrecの公式配信者としてゲーム生実況をしたり、ベンチャー企業のCOOをしたり、パラレルキャリアを歩んでいる。 2019年にミニマムライフコストを不労所得で稼げるようになったため、いまは好きなことだけ仕事にしています。