こんにちは、どうまずです。
このブログに関してで記載した通り、私は勉強中の身、
つまり、Objective-c初心者です。
あとで忘れないように、あと、私と同じく初心者応援、いや、
一緒にがんばろうという意味で記載していきます!
概要
プログラミングの基本と言えば、「こんにちは世界」からということで、
一番躓く始めの一歩部分を記載します。
必要なもの
・Mac(OC X Yosemite)
・Xcode(6.1,1)
ほかにも開発・Macユーザが入れておいたほうかいいツールを教えてもらいましたが、
また別の機会に記載します。
1.プロジェクトを作成する。
まず、Xcodeを起動し、
File->New->Projectを選択します。
すると、下記のようなテンプレート選択画面が表示されます。
まず、躓くポイントとしては、ここで何を選択すればいいのか全くわからないんです。
しかも、Xcodeのバージョンが異なる初心者向きサイトに行くと、
すでに存在しないテンプレートを選ぶように記載されてたりします。
ここでは、「Single View Application」を選びました。
ゆう@あんのうんからは、「大変なの選んだね・・・」と言われました・・・
とりあえず、問題ないはずです。間違えてはないんだし・・・・
次に適当なプロジェクト名を記載します。
(私の場合は、[RecapTableView]です。)
他は今の所デフォルト値のままです。
[Next]をクリックすると保存場所を問われます。
適当に保存場所を選択して[Create]ボタンをクリックしてプロジェクト作成完了です。
2.シミュレータを動かしてみる
プロジェクト完成したので、とりあえずシミュレータを起動させてみます。
Xcodeの上のほうにある矢印をクリックします。
そうすると、シミュレータが動く・・・はずが、
私の環境だとなにやらエラーが出てしまったようです。
[No signing identity found]
こうなった原因は簡単にわかりました。
シミュレータの実行対象が「XXのiPhone」、つまり実機になってました。(繋いでたので・・・)
この対象を例えば下の画像のように実機ではなく、iPhone6などに変更すると実行できました。
実行結果は「真っ白!何も表示されず!」です。
まだ、あいさつはできないようです。
3.文字を表示してみる。
次にMain.storyboardを開きます。
見ると、[View Controller Scene]の中に[View Controller]のがあります。
これを操作して、文字を表示しようと思います。
まず、気になるのがサイズです。どう見ても、iPhone用では無い感じです。
サイズ変更のためには、下の画面通り、右から3番目の下矢印っぽいのをクリックし、
Sizeを[iPhone 4.7-inch]に変更します。
次に、これに文字、つまりLabelをつけます。
右下の方の一覧のようなところから、[Label]を[View Controller]上に
ドラッグ&ドロップで貼り付けます。
ちなみに、[View Controller]が等倍表示されていないと、貼り付けられないです。
そして実行すると文字が表示されます。
(iPhone 4.7-inchはiPhone6用なので、iPhone6のシミュレータで実行)
4.文字を書き換える
文字は表示されましたが、プログラミングっぽくないので、
文字の表示を書き換えてみます。
まず、ラベルをソースコード上で認識させる必要があります。
そもそも、ラベルを配置した[View Controller]は何者なのか?
先ほどサイズを変更した場所の左から三番目をクリックすると、
Custom Classと表示され、クラス名が[ViewController]であることがわかります。
よくプロジェクト内を確認すると、[ViewController.h]と[ViewController.m]が
存在しますので、これと関連付けられていることがわかります。
次に右上あたりにある、輪っかが二つあるボタンを押します。
ViewControllerを選択していた場合、[ViewController.m]が表示されます。
つぎに、[Label]を[ViewController.m]をinterfaceに持っていきます。
何やら名前付けろと表示されますので、適当に名前をつけます。
私の場合は[RTtestLabel]としました。
すると、[ViewController.m]上にpropertyが追加されます。
これで[ViewController.m]上でLabelが操作できるようになります。
viewDidLoadメソッド内に
[_RTtestLabel.text = @"こんにちは世界";]と記載します。
ちなみにviewDidLoadメソッドはViewがロードされた直後に実行されます。
記載したら、改めてシミュレータを実行します。
結果は下のように・・・
あ・・・ラベルの幅が狭かったようで・・・
ちゃんと広げると下のようにちゃんと表示されました。
他にもまだいろいろあるのですが、
まずはここまでということで!
いろいろ再確認しながら実行するのは中々時間がかかりますね。
これは・・・ブログ大変かも・・・がんばれ、どうまず!