Hello Worldに挑戦する!

こんにちは、どうまずです。
このブログに関してで記載した通り、私は勉強中の身、
つまり、Objective-c初心者です。
あとで忘れないように、あと、私と同じく初心者応援、いや、
一緒にがんばろうという意味で記載していきます!

概要

プログラミングの基本と言えば、「こんにちは世界」からということで、
一番躓く始めの一歩部分を記載します。

 

必要なもの

・Mac(OC X Yosemite)
・Xcode(6.1,1)

ほかにも開発・Macユーザが入れておいたほうかいいツールを教えてもらいましたが、
また別の機会に記載します。

1.プロジェクトを作成する。

まず、Xcodeを起動し、
File->New->Projectを選択します。
すると、下記のようなテンプレート選択画面が表示されます。
まず、躓くポイントとしては、ここで何を選択すればいいのか全くわからないんです。
しかも、Xcodeのバージョンが異なる初心者向きサイトに行くと、
すでに存在しないテンプレートを選ぶように記載されてたりします。

f:id:project-unknown:20150104012410p:plain

ここでは、「Single View Application」を選びました。
ゆう@あんのうんからは、「大変なの選んだね・・・」と言われました・・・
とりあえず、問題ないはずです。間違えてはないんだし・・・・

次に適当なプロジェクト名を記載します。
(私の場合は、[RecapTableView]です。)
他は今の所デフォルト値のままです。

f:id:project-unknown:20150104012535p:plain

[Next]をクリックすると保存場所を問われます。
適当に保存場所を選択して[Create]ボタンをクリックしてプロジェクト作成完了です。

f:id:project-unknown:20150104012935p:plain

2.シミュレータを動かしてみる

プロジェクト完成したので、とりあえずシミュレータを起動させてみます。
Xcodeの上のほうにある矢印をクリックします。

f:id:project-unknown:20150104012949p:plain

そうすると、シミュレータが動く・・・はずが、
私の環境だとなにやらエラーが出てしまったようです。

f:id:project-unknown:20150104013047p:plain

[No signing identity found]

こうなった原因は簡単にわかりました。
シミュレータの実行対象が「XXのiPhone」、つまり実機になってました。(繋いでたので・・・)
この対象を例えば下の画像のように実機ではなく、iPhone6などに変更すると実行できました。

f:id:project-unknown:20150104013253p:plain

実行結果は「真っ白!何も表示されず!」です。
まだ、あいさつはできないようです。

3.文字を表示してみる。

次にMain.storyboardを開きます。

f:id:project-unknown:20150104013437p:plain

見ると、[View Controller Scene]の中に[View Controller]のがあります。
これを操作して、文字を表示しようと思います。

まず、気になるのがサイズです。どう見ても、iPhone用では無い感じです。
サイズ変更のためには、下の画面通り、右から3番目の下矢印っぽいのをクリックし、
Sizeを[iPhone 4.7-inch]に変更します。

f:id:project-unknown:20150104013546p:plain

次に、これに文字、つまりLabelをつけます。
右下の方の一覧のようなところから、[Label]を[View Controller]上に
ドラッグ&ドロップで貼り付けます。
ちなみに、[View Controller]が等倍表示されていないと、貼り付けられないです。

f:id:project-unknown:20150104013623p:plain

そして実行すると文字が表示されます。
(iPhone 4.7-inchはiPhone6用なので、iPhone6のシミュレータで実行)

4.文字を書き換える

文字は表示されましたが、プログラミングっぽくないので、
文字の表示を書き換えてみます。
まず、ラベルをソースコード上で認識させる必要があります。
そもそも、ラベルを配置した[View Controller]は何者なのか?

先ほどサイズを変更した場所の左から三番目をクリックすると、
Custom Classと表示され、クラス名が[ViewController]であることがわかります。
よくプロジェクト内を確認すると、[ViewController.h]と[ViewController.m]が
存在しますので、これと関連付けられていることがわかります。

次に右上あたりにある、輪っかが二つあるボタンを押します。

f:id:project-unknown:20150104013827p:plain

ViewControllerを選択していた場合、[ViewController.m]が表示されます。
つぎに、[Label]を[ViewController.m]をinterfaceに持っていきます。
何やら名前付けろと表示されますので、適当に名前をつけます。
私の場合は[RTtestLabel]としました。
すると、[ViewController.m]上にpropertyが追加されます。

f:id:project-unknown:20150104013900p:plain

これで[ViewController.m]上でLabelが操作できるようになります。
viewDidLoadメソッド内に
[_RTtestLabel.text = @"こんにちは世界";]と記載します。

f:id:project-unknown:20150104014001p:plain

ちなみにviewDidLoadメソッドはViewがロードされた直後に実行されます。

記載したら、改めてシミュレータを実行します。
結果は下のように・・・

f:id:project-unknown:20150104014341p:plain

あ・・・ラベルの幅が狭かったようで・・・
ちゃんと広げると下のようにちゃんと表示されました。

f:id:project-unknown:20150104014901p:plain

他にもまだいろいろあるのですが、
まずはここまでということで!

いろいろ再確認しながら実行するのは中々時間がかかりますね。
これは・・・ブログ大変かも・・・がんばれ、どうまず!