目標
作りたいアプリは特になくて、ただ iOS / Swift 学びたいなあという気持ちがあるという感じです。Swift で書かれた iOS のコード理解できるようになりたい。
当方ほぼ初心者です。(夏に Hello World ぐらいならしたことがある)
環境セットアップ
- Xcode アップデート
入れたプラグイン
- Alcatraz
Xcode 用のパッケージマネージャらしい。プラグイン探してると大体ここに対応してるので入れました。
途中で
mktemp: too few X's in template ‘com.mneorr.Alcatraz’
というエラーが出たのですが、
によれば coreUtils
を brew
で別に入れてるのが原因っぽいので
$ export PATH=/usr/bin/:$PATH
として一旦内蔵のコマンドを使うように切り替えるとインストールできました。
あとはこのパッケージマネージャを使って入れます。
- XVim
- monokai-revisited
monokai テーマだとこれが一番よさそう。
- FuzzyAutoCompletePlugin
Xcode は IntelliJ とは違って VC
と打っても VC
から始まるものしか出ないのですが、これを入れると ViewController
とかが出てくれるようになる。
- GitDiff
git の変更行に対して色を変更してくれる。
した設定
- 行番号表示
プロジェクト作成
- とりあえずOKっぽいのクリックする
チュートリアル
アップルの公式チュートリアルがあったのでそれを進めていっています。
このチュートリアル、ちゃんと最新の仕様に従っているし、とにかく丁寧だし、いろんなことやってくれるので非常に良い。
詰まった
- タップ反応しないやん!
userInteractionEnabled
が OFF になってました (http://stackoverflow.com/questions/3907397/uigesturerecognizer-on-uiimageview)
感想
とりあえず CustomControl
のあたりまでやりました。
StoryBoard
上でマウスをふんだんに使ってレイアウト決定するのは面白い。Android だとそういう機能はあるけど結局自分で xml ゴリゴリ書いてたし。- 内部実装のソースが見れなくてもコメントあるから割りとなんとかなりそう
- 絵文字入力すると落ちる😇
落ちる様子(多分vimキーバインドプラグインあたりのせい) https://t.co/JxFrEpAosP
— のにれん(うにゃ)) (@nonylene) February 11, 2016
これ、XVim のせいかと思っていたけど調べてみるとそんなことなさそう。致命的になったらまた原因調べてみよう…
- たまに Xcode 固まって渋い
- Swift 自体は全体的に良い感じ。スマートに書けるし、ちょっと Kotlin と似ているので馴染みやすい。
- 関数呼び出しの時に引数名必須なのは難しい
addTarget
、関数名を文字列で指定するのか… ラムダ式でいい感じに渡したいなぁとか思った。- Android だとリソースは
R.drawable.hogehoge
のように自動的に作成されるクラスを通じて数値で呼び出すのだけど、 iOS だと文字列で名前をそのまま渡すのかな。(少なくとも今の項まではずっとそうしてる)補完とか働かないのは少し不便かもしれない。
ちなみに下のレポジトリでやってます。少しずつ頑張るぞい。