読者です 読者をやめる 読者になる 読者になる

KATOエンジニヤリング開発日誌

「アウトプット無きエンジニアにインプットもチャンスも無い」の精神で書いています

iOS/macOSアプリ開発ハンズオンセミナーに参加しました 1

先日のブログでもお伝えしましたが、2月23日に東京都千代田区のちよだプラットフォームで行われたMOSA主催の「iOS/macOSアプリ開発ハンズオンセミナー」に参加しました。

www.kato-eng.info

今回はハンズオンセミナーで作成したアプリの紹介をします。

暗記カードアプリの作成(iOSアプリ)

起動画面(LaunchScreen.storyboard)

アプリを起動したときに表示される画面はLaunchScreen.storyboardファイルで表現します。

f:id:masayuki_kato:20170309225642p:plain

トップ画面(Main.storyboard)

起動画面の後に表示されるトップ画面はMain.storyboardファイルで表現します。

f:id:masayuki_kato:20170309230054p:plain

Q&A画面(セグエの設定)

暗記カードアプリのメイン画面となるQ&A画面はMain.storyboardファイル内でセグエの設定をすることで表現できます。

ビューコントローラの表示遷移や他のビューコントローラとの関連付け情報のことをセグエといいます。

セグエを設定しているようす

f:id:masayuki_kato:20170309230628p:plain

Q&A画面

f:id:masayuki_kato:20170309230718p:plain

正解画面

インプットボックスに正解の英単語を入力しDoneを選択すると

f:id:masayuki_kato:20170309231218p:plain

画面に「Correct」というラベルが表示され、次の問題が表示されます。

f:id:masayuki_kato:20170309231300p:plain

解答を間違えると

f:id:masayuki_kato:20170309231443p:plain

画面に「Incorrect」というラベルが表示され、問題文が斜めになります。

f:id:masayuki_kato:20170309231456p:plain

Property List

Xcodeではデータ交換フォーマット形式のファイルとしてProperty List形式が用意されています。

今回の暗記カードアプリでは出題される問題と答えのマッピング情報をproperty Listで作成しました。

Property Listを編集しているようす

f:id:masayuki_kato:20170309233030p:plain

データ型や親子関係がわかりやすいけど編集がマウス操作メインになってしまい効率が悪いのと、JSONとかと比べるとプログラム上で編集するのが難しそうだと感じました。

もしかしたらSwiftにProperty Listを操作する関数が用意されているのかもしれませんが汎用性が低そうなファイル形式なので、私がアプリ開発をするときにはおそらく使用しないだろうと思います。

まとめ

最近はAPI開発やWebアプリケーションのビジネスロジック作成といった画面を直接制御する処理を行っていなかったため、VBのように画面をGUIで作成していくのが懐かしい感じがしました。

また、素朴な雰囲気の画面ならアプリ開発も難しくないという気持ちになりました。

今回のハンズオンセミナーではSwiftのコードをほとんど触らなかったのが少し残念でした。

MOSAでは月に一度くらいのペースでSwiftの勉強会を行っているようなので、機会があればそちらにも参加してみたいと思います。

mosa.connpass.com

macOSアプリ開発編は後日作成します。