ブログ開設・方針

当ブログは大学院生の私がプログラムを書いて行く上ではまった点やその解決手段に関する備忘録として開設しました。記事にする言語は主にSwiftですが、他にもRuby, Python, c++なども扱います。

 

SwiftはiOSアプリ開発用に作られたオブジェクト指向言語です(最近はプロトコル指向言語であるとも言います)。

iOSアプリ開発にはXcodeを開発環境として用いますが、その利用法は人によって異なるようです。具体的にはStoryboardを用いてコードと紐付けして開発するパターンと、Storyboardは用いずにコードのみで開発するパターンです。

 

私自身、初めてXcodeを用いて開発したのは2015年頃で、その頃は技術書を片手にStoryboardベースの開発をしていたものですが、AutoLayoutにつまづいたり、紐付けがうまくいかなかったりで、Storyboardを用いることによって省略できる部分がブラックボックス的に思えたのでコードベースの開発に切り替えた過去があります。

コードベースの開発ではボタンやラベルの位置や大きさ、色まで全てをコードで指定する必要がありますが、「コードに書いてあることが全て」であるおかげで、訳のわからないエラーは格段に減りました。しかし、iPhoneのバージョンによって画面の大きさが異なることへの対応などは骨の折れるもので、苦労した経験があります。

 

その後もたまにiOSアプリ開発は行いましたが、最近になって、改めてStoryboard開発にチャレンジしてみようと決心し、勉強し直しました。数年前からはSwiftのバージョンも更新され、文法が大きく変わったこともありますが、Xcode自体も改良され、当初に比べると非常に使いやすいものになったと感じています(当時のスキルが足りなかっただけかもしれませんが)。

AutoLayoutも克服し、各クラスの対応関係なども俯瞰できるようになってきました。しかし、Storyboardを使う上で直面する問題も多々あり、それらを解決する度に新しい知識が増えてきました。このブログではそんなことをまとめて行こうと思います。

 

記事では、問題解決の際に学んだ知識を一般化して書くのではなく、実際に行った手順を具体的に書いて行くことにします。一般化した方が普遍的で応用の効く知識になりますが、その分抽象的で初心者にはそこからの発展がわかりにくかったりすることが多いです。一般化した書き方は公式リファレンスや逆引き辞典系のサイトに任せるとして、ここでは敢えて具体的な書き方を採用します。

 

一見当たり前なことも記事にするとは思いますが、あくまで備忘録ということでお許しください。