浜村拓夫(・∀・)作品集

頭の中にあるイメージを表現できるデザイン力が欲しいです(><)

iOSアプリのMVC構造

本を見ながら、SwiftiPhoneアプリを作る練習をしてみました。

iOSアプリ作成の学習に際して、学習コストを最小にする「最短経路」を考えてみたいです。

→どんなふうに学習すれば、最短でマスターできるかな?(・∀・)

 

TECHNICAL MASTERはじめてのiOSアプリ開発Swift対応版

TECHNICAL MASTERはじめてのiOSアプリ開発Swift対応版

 

 

途中、本の説明と実際の画面で違う部分が出てきて、サンプルを作成する作業がストップしました。

→使っているXcodeiOSのバージョンが一致していないと、微妙に違いが出てくるのかも???

 

●Behind Time(時代遅れ)

本は「死んだ知識」です。

 

本には、

・書かれた瞬間から、陳腐化が進み、どんどん古い知識になっていく。

・分からない部分が出てきたとき、インタラクティブに解決できない。

という欠点があります。

 

生きている人間の教師に対しては、分からないことがあればその場ですぐに質問して、疑問点を解消することも可能です。

しかし、生きていない本では、リアルタイムに質問できないので、疑問点は自分で調べて解決するしかありません。

 

ハァー、困ったなー。。。

 

GUIアプリの基本構造「MVC

GUI(ジー ユー アイ)とは - コトバンク

コンピューターの操作の対象が絵で表現されるユーザーインターフェースマウスなどのポインティング・デバイスを使用して直感的にコンピューターを操作できる。現在のOSやアプリケーションの多くは、GUIを採用している。

 

MVCアーキテクチャー(えむぶいしーあーきてくちゃー)とは - コトバンク

システムを実装する際のアーキテクチャーの一種。システムをModel(データ処理部)、View(入出力処理部)、Control(制御部)に分割して設計する。Webアプリケーションのアーキテクチャーとして向いている。

 

WindowsiPhoneみたいに、画面上のアイコン(絵)をタッチして操作するのが、GUIです。

GUIの構造は、「MVC」という設計がよく使われています。

MVCは、古くはオブジェクト指向プログラミングの元祖「Smalltalk」の時代からある設計です。

GUIなら、MVC(Model+View+Controllerの3つ)を作ればOKという、定番のパターンですね?

 

Appleも、iOSアプリの基本構造には、「MVC」設計を採用しています。

developer.apple.com

 

f:id:hamamuratakuo:20160119220139p:plain

 

つまり、iPhoneアプリを作るとき、

・Model

・View

・Controller

の3つのうち、どの部分をを作っているのか?を意識しながら、作業すれば迷子にならないはず。

 

iOSMVC

で、今日初めてiOSアプリを作ってみた感想は、

「訳がわからない」

でした。(涙)

 

iOSMVCアーキテクチャーパターンって、どうなっているのでしょうか?

Google検索したら、いろいろ参考情報が出てきました。(メモ)

 

CocoaにおけるMVCについてちょっと勉強してみた – Morizotter Blog

Cocoaの考え方

MVC = Command/Composite、Madiator/Strategy、Observer

f:id:hamamuratakuo:20160119221911p:plain

ビューがモデルを直接監視して状態変化を検出することも可能ではあるが、できるだけそのような構成にはしない。ビューオブジェクトは、常に仲介型コントローラを経由して、モデルオブジェクトの状態変化を知るようにするべき。

 

iOSアプリ作成では、「Cocoa」というフレームワーク(基本機能の詰合せセット)を使うのが定番みたいなので、CocoaMVCの仕組みを知れば良いみたいです。

 

ASCII.jp:アップルは新しいプログラミング言語「Swift」が開発者に気に入られることを望んでいるが、そう上手くいくだろうか?

既存のアプリケーション、ツールセット、コードライブラリとの連続性を維持するために、Swift は Objective -C にも寄り添っている。

OS XiOS アプリケーションを駆動するObjective -C のフレームワークCocoa および Cocoa Touchとダイレクトに連動させることができるのだ。

Cocoa のライブラリはObjective -C で実装されているので、開発者たちは Swift コードとObjective -C コードを並行して実行することができる。

 

qiita.com

 

iOSアプリ入門講座(動画)

図解で分かりやすそうな説明動画もありました。(ただし、英語だけど><)

 

 

 いろんな名称が出てくるので、まずは用語を押さえておかないと、訳が分からなくなりますね?

 

この動画の投稿者さんは、他にもiOSアプリの作り方の動画をUPしてくれていたので、後で見てみよう。 

Revanth Reddy T - YouTube

 

他にも、iOSアプリ作成の説明動画がありました。

theITx - YouTube (スタンフォード大学の講座)

 

Laccel - YouTube (日本語のSwift入門講座)

 

 

本屋に行って、他にも分かりやすそうな本があるか?探してみようと思います。 

 

絶対に挫折しない iPhoneアプリ開発「超」入門 増補改訂第4版【Swift 2 & iOS 9】完全対応

絶対に挫折しない iPhoneアプリ開発「超」入門 増補改訂第4版【Swift 2 & iOS 9】完全対応