F@N Ad-Tech Blog

株式会社ファンコミュニケーションズ nend・nex8・viidleのエンジニア・技術ブログ

手帳派のわたしが、スケジュールアプリを作った話

こんにちは!
インターンでお世話になっている a_ota です。

普段は、女子大なので周りに女子しかいなくて、男性の多い職場で働くことに新鮮味を感じています。

インターンに参加した理由

夏休みに周りがインターンに行き出して、焦っていたのですが、なかなか見つからずWantedlyで探していたところ、声をかけてもらったのがきっかけです。
自分のやりたいことをしていい!というとても魅力的なお話でした。

作ったもの

題名にも書いた通り、わたしは手帳派で...
というよりは、なかなかいいスケジュールアプリに巡り会えず、仕方なしに手帳で管理していました。
それと、以前知った Swift という言語に触れてみたい!とは思っていたのですが、なかなか時間が取れていなかったので、今回 swift で自分好みのスケジュールアプリを作ろうと思いました。

仕様

本当にシンプルなカレンダーに、自分の予定を書き込めるようにしました。
工夫したのは、
" 予定スタンプを貼れるようにする事 "
" 週表示のカレンダーを作成した事 "
です。

基本的な動作は、他のスケジュールアプリと変わりません。

横スライドで、週表示と月表示の切り替えができます。

<月表示>

<週表示>

見たい日付をタップすると、その日の予定tableが表示されます。

右上の+ボタンを押しすと、予定が追加できます。

予定を追加すると、それぞれの画面で分かるように、その日付にスタンプが押されます。



このように、日ごと、週ごと、月ごとのそれぞれのカレンダーで予定が追加されているのがわかります。

感想

初めのうち

とにかく初めてだったので、文法などほとんどわからず、ネット上のコードをコピペして解読していくのが大変でした。
徐々に分かってくると、自分でかけるようになりました。そうなってくるとコピペしたところに新規にコードを付け足そうとすると、曖昧にしか理解していなかったことが分かり、教えてもらったり、さらに、調べたりしました。

swiftの難しさ

最初は、
Xcode ver. 7.2 、Swift 2.1.1
で書いていたのですが、実機で動かそうと思い、
Xcode ver. 9.2、Swift 4
に書き換えました。
こんなにもver.が違うと、違う言語なんじゃないかと思うくらい、書き換えが大変でした。。

それと、Swiftでのエラーはよく理解していないと分からなかったです。初心者の私には、その意味を理解するのすら困難で、エラーの意味を調べる → エラーの解決方法を調べるという感じでした。実行する時は、エラー起こってくれるなよ、とほぼ神頼み状態でした。

苦労したところ

画面遷移です。
実際にアプリを使っていて、なんでこんな分かりにくい画面切り替えなんだろう、とか思っていたのですが、実際に、UIと画面遷移がわかりやすいように設計しようと考えると、とても難しかったです。

楽しかったところ

今まで、アルゴリズムとかそういったものを考えてコードを書いていたので、実際に自分のiPhoneで動かせるアプリを作れたことは、楽しかったです。例えば、htmlやcssのようにpx単位でデザインを考えなくてよく、アイテムリストからビーっとアイテムを貼り付けたりできたのが新鮮でした。

また、最初はよくわからないエラーに苦しみ英語にもがいていましたが、段々と分かるようになったり、一発でエラーを回避できた時は、あ、自分出来てるかも!と思い嬉しかったです。

終わりに

y_kawasakiさん、福岡さん、よくわからないエラーにつまった時、1日に何度も何度も質問に行かせていただき、ありがとうございました。

内田さん、わからないことを教えてもらったり、サポートしていただき、本当にお世話になっています。

他にも、昨年末に実施されたハッカソンの時などに、色々な方に、色々教えていただきました。ありがとうございました。

ハッカソンの記事はこちら。
www.wantedly.com


とりあえず3月までお世話になる予定でいますので、よろしくお願いします。

メンターからのコメント

最初にSwiftの実装で相談を受けた時に、既にある程度アプリが動く状態だったこともあり、全体的に細かい実装までは見ていませんが、iOSアプリ開発で最初は誰しもつまずき易いUITableViewやUIPageViewController、Storyboard、nil参照によるクラッシュなどの内容で相談に来られていた印象でした。
Swift初心者ということで難しい点も多かったと思いますが、a_otaさんはいつも真剣に理解しようという姿勢でしたので、それに応えるべく、こちらも真剣にアドバイスしました。
途中、まだまだアドバイスが必要かもしれないな〜と少し心配でしたが、最後にはアプリを完成させたことはa_otaさんが頑張った結果だと思います。
お疲れ様でした。