こんにちは。
先週からiOSエンジニアとして働き始めました。まあiOSエンジニアといっても未経験な上に独学も少ししかしていないので、iOSエンジニアと名乗るのもおこがましいですが...。
ということで、iOSエンジニア(仮)ということにしておきます。
今日からiOSエンジニアとして学んだことをちょくちょく書いていこうと思います。
今はそれほど忙しくないようなので、ありがたいことですが、業務中に勉強させてもらっています。とりあえずはそこから学んだことをまとめていきます。
今週は主にSource Treeを使ったGitの使い方とSwiftの基礎について少し勉強しました。
Source Treeを使ったGitの使い方
業務ではSource Treeを使ってgitを使用します。コマンドでgitを使ったことがほとんどないため、使いやすいとか使いにくいとかはわかりません。
ここでは一連の流れをおさらいします。
- リポジトリを作成
これをすることで作業フォルダ内の変更内容が逐一Source Treeに反映されます。 - ステージング
変更したファイルをコミットの対象にします。この時に変更内容も確認できるので、コミット対象のファイルのみステージングします。 - コミット
コミットボタンをクリックしてコミットします。この時、コミット対象ではないファイルはスタッシュ(一時待避)しておきます。
また、コミットの際は必ずメッセージを書きますが、このメッセージはわかりやすくしておくと、他の人に変更点が伝わりやすいです。 - プッシュ
プッシュすることで変更したファイルをローカルリポジトリからリモートリポジトリに反映することができます。
プルリクエストやマージなどについてはまだやっていないので、またの機会にします。
UIViewControllerのライフサイクル
UIViewControllerのライフサイクルはload viewからviwDidDisappearまであります。その中から頻出した6つを紹介します。
- viewDidLoad
ViewControllerのviewがロードされた後に呼び出される。 - viewWillAppear
viewが表示される直前に呼ばれる。 - viewDidAppear
完全に遷移が行われ、スクリーン上に表示された時に呼ばれる。 - viewWillDisappear
viewが表示されなくなる直前に呼び出される。 - viewDidDisappear
完全に遷移が行われ、スクリーン上からViewControllerが表示されなくなったときに呼ばれる。
説明文はQiitaのこちらの記事から拝借しました。
つまり処理をしたいタイミングのところにその処理を書けば、そのタイミングで処理が行われるようです。おそらくそんなに単純ではないと思いますが。
swiftにおける継承とextension
継承は以前他のプログラミング言語を扱っていた時も見たことがあります(使いこなせてはいない)が、extensionは初めてでした。
ぱっと見はそれぞれなんとなく似てるなと思ったのですが、どうやら違うようです。それどころか、extensionはなかなか応用が効くらしい。
継承
継承元のクラスはスーパークラス、継承したクラスはサブクラスとそれぞれ呼ばれます。サブクラスはスーパークラスので宣言された全てのオブジェクトとメソッドを使用でき、さらにサブクラスにはサブクラス独自のオブジェクトやメソッドを追加することができます。
サブクラスに追加した独自のものは、スーパークラスからは参照することはできません。
また、継承にはオーバーライドという概念があり、これを使うことでスーパークラスのメソッドをサブクラスで機能を追加して使用することができます。
extension
IntやDoubleなどの元々存在するクラスにプロパティやメソッドを追加することができますが、継承のようにオーバーライドを使ってextension元と同名の関数を使うことはできません。
また、extensionにはこの他にもさらに複雑な使い方があります。詳しくはQiitaのこちらの記事を参照して下さい。
以上、iOSエンジニアとして働き始めて1週目に主に学んだことです。今日から2週目。頑張っていきます。