Swift入門ということで、Hello Worldを表示するまでを説明します。今回はXcodeの使い方などは詳しく説明しません。どういう風にプロジェクトを作ったら良いか、どこにコードを編集していくかなどを順を追って説明していこうと思います。
①Xcodeをインストール
App Storeにいって「Xcode」と検索し、インストールをする。3GBぐらいあるので、結構時間がかかりますのでコーヒーでも飲みながら待ちましょう。
②Xcodeを起動する。
以下の画面が起動するので、「Create a new Xcode project」を選択します。右のほうの一覧は、過去に作ったprojectの履歴です。
③Projectを選択する
②で選択したあと、以下の画面に遷移するので「Single View Application」を選択します。このApplicationは、最低限起動に必要なファイルだけ入っている状態です。
④Product Nameを決める
次に以下のような画面に遷移するので、Product Nameを入力します。Organization NameとOrganization Identiferはとりあえずは適当でいいです。Languageは「Swift」を選択し、Devicesは「Universal」にしておきましょう。最後に「Next」を押します。次にプロジェクトをどこに置くかを決めますが、適当にデスクトップに置いておけばよいと思います。
⑤ViewController.swiftを選択する
④から遷移すると、以下のような画面になります。左メニューはプロジェクトのディレクトリ群になっており、いろいろなファイルが格納されています。右は、プロジェクトの設定をするところであるが、今は細かいところは気にしなくて良いです。HelloWorldディレクトリ直下のViewController.swiftをクリックし、実装画面に移ります。
⑥実装する
初めは以下のようなコードが記述されています。
ちなみに、画面の色を変えておきましょう。「Xcode」→「Preferences」→「Fonts & Colors」にいき、「Dusk」を選択すると写真のような色になります。さて、コードを一行ずつ見ていきましょう。まず、「//」はコメントを表し、ファイル名、プロジェクト名、名前、copyrightなどが書かれています。次に、「import UIKit」ですが、これはUIを作るための便利なフレームワークであり、提供される様々なクラスを利用してコードを書いていくことになります。
「class ViewController: UIViewController」は「UIViewControllerクラスを継承した、ViewControllerクラス」を表します。UIViewControllerクラスは、UIKitで提供されているクラスで、Viewを管理する役割があります。さて、Hello Worldを出す前にごちゃごちゃ説明してもしょうがないので、以下のように書いてください。
三行のコードが追加されました。とりあえずはこれだけで大丈夫です。「label」は変数名で、変数の前に「let」をつけていますが、これは定数を表し、一度定義をすると変更をすることができません。変更をする可能性があるならば、「var label」と定義します。UILabelはラベルを管理するクラスで、文字列を表示するために使われます。引数にはframeを与えます。frameはViewのサイズと位置を保持しています。
(frameの詳しい解説は、[XCODE] UIViewのframeとboundsとcenterの意味を整理してみた)
以下のように、編集中にコード補完が出てくるので、引数を入力していきましょう。CGRectMakeで、ラベルの位置と幅、高さを設定します。今回はx,yが0で幅、高さを100としました。なお、CGRectが対象オブジェクトの位置と幅、高さを管理するクラスです。
次に、定義したlabelにテキストを入力するには、textプロパティに文字列を代入します。文字列はダブルクオーテーションで囲みます。そして、最後にViewに追加する作業が必要になりますが、self.view.addSubviewで自身のビューに新たなビューを追加する意味となり、引数に定義したラベルを指定します。簡単にいうと、今ある画面の上に、ラベルを乗っけるということです。
⑦実行する
左上の右三角を押し、実行をすると以下のようなシュミレーターが起動し、「Hello World」が表示されます。
これでひとまず完了ですが、ドキュメントを見て色々プロパティを設定したり、CGRectMakeの引数の値を変えたりして、挙動を確認してみると良いと思います。
Swiftは書いていて楽しいので、是非これを機会に学んでみてはいかがでしょうか。