なんかわかった気がする。
HelloWorldとか、電卓とかでいろいろとやってきましたが、
コードを書くところとデザインとかするInterfaceBuilderの関係が少しわかった気がする。
一番最初やってたことは、
この回みたいに、あらかじめ画面に、ボタンやらラベルやらを設定しておいて、
にボタンやらラベルの宣言を
~ViewController.h に
IBOutlet UILabel *message;
とかと、イベントの宣言
-(IBAction)actionButtonTapped:(id)sender;
をゴリゴリと書いて、青い線とか伸ばして、
~ViewController.m に
ボタンを押されたときの処理
-(IBAction)actionButtonTapped:(id)sender{
//ここに押されたときの処理を書く
}
を書いてました。
逆にこっちに入力すると・・・。
最後にボタンとかと、このようなactionButtonTappedと青い線で結んで、
それで、「ボタンが押されたらこの処理が実行される。」
みたいに作ってました。
でも、今回やってみてる方法の方がいい感じ!!なんとなくイメージが湧く!
なぜかというと、圧倒的にコードを書く量が少ないから。
方法はこう。
昔のHelloWorldで説明すると。
コードに書いた
IBOutlet UILabel *message;は
InterfaceBuilderで見ると、ここに書いてありました。

下の+ボタンで項目を追加します。
ここでは追加したときのまま、名前を「myOutlet1」と「myOutlet2」ってのを追加してみました。

で、つぎに File→Write Class Files...を選択します。
これはInterfaceBuilderで設定したことを、Xcodeへ反映させてます。
このようなウインドウが出てくるので、

Saveをクリック、

上書きでいいんで、Replaceをクリック。

そうすると、確定されてmessageと同じような場所に入りましたね。
ちなみにコードの方をみると、、、

追加されてる!!!!
UILabel じゃなくて、id になってるけど、これは問題ないらしい。
詳しくわかんないけど、問題ないらしい。知りたい人は調べてねw
同じようにイベントの宣言もこうしてできます。

さっきは OutLets のとこに設定したけど、今回は、Actions のところ。

で、デフォルトの myAction1: として、保存すると。。

追加されてる!!!!
そして、ボタンとアクションの接続の仕方は、
File's Ownerを右クリックしてから直接、接続したいやつを選んで
画面のパーツへ青い線を延ばします。

この例では、mYAction1: をえらんで、ボタンまでのばしてます。

最後に、どの操作がされたときにどの操作をしたときに実行するか選んでます。
これは「ボタンを押して話した時」(Touch Up Inside)です。
こうして、、、
実装するところ。~.m を見ると、

ほら、追加されてる!!!
ここにボタンが押された時の処理を書きます。
ということで。とくにコードを書かなくても、InterfaceBuilderでうまいことやれば、
勝手にコードを書いてくれることを発見しました!!
HelloWorldとか、電卓とかでいろいろとやってきましたが、
コードを書くところとデザインとかするInterfaceBuilderの関係が少しわかった気がする。
一番最初やってたことは、
この回みたいに、あらかじめ画面に、ボタンやらラベルやらを設定しておいて、
にボタンやらラベルの宣言を
~ViewController.h に
IBOutlet UILabel *message;
とかと、イベントの宣言
-(IBAction)actionButtonTapped:(id)sender;
をゴリゴリと書いて、青い線とか伸ばして、
~ViewController.m に
ボタンを押されたときの処理
-(IBAction)actionButtonTapped:(id)sender{
//ここに押されたときの処理を書く
}
を書いてました。
逆にこっちに入力すると・・・。
最後にボタンとかと、このようなactionButtonTappedと青い線で結んで、
それで、「ボタンが押されたらこの処理が実行される。」
みたいに作ってました。
でも、今回やってみてる方法の方がいい感じ!!なんとなくイメージが湧く!
なぜかというと、圧倒的にコードを書く量が少ないから。
方法はこう。
昔のHelloWorldで説明すると。
コードに書いた
IBOutlet UILabel *message;は
InterfaceBuilderで見ると、ここに書いてありました。

下の+ボタンで項目を追加します。
ここでは追加したときのまま、名前を「myOutlet1」と「myOutlet2」ってのを追加してみました。

で、つぎに File→Write Class Files...を選択します。
これはInterfaceBuilderで設定したことを、Xcodeへ反映させてます。
このようなウインドウが出てくるので、

Saveをクリック、

上書きでいいんで、Replaceをクリック。

そうすると、確定されてmessageと同じような場所に入りましたね。
ちなみにコードの方をみると、、、

追加されてる!!!!
UILabel じゃなくて、id になってるけど、これは問題ないらしい。
詳しくわかんないけど、問題ないらしい。知りたい人は調べてねw
同じようにイベントの宣言もこうしてできます。

さっきは OutLets のとこに設定したけど、今回は、Actions のところ。

で、デフォルトの myAction1: として、保存すると。。

追加されてる!!!!
そして、ボタンとアクションの接続の仕方は、
File's Ownerを右クリックしてから直接、接続したいやつを選んで
画面のパーツへ青い線を延ばします。

この例では、mYAction1: をえらんで、ボタンまでのばしてます。

最後に、どの操作がされたときにどの操作をしたときに実行するか選んでます。
これは「ボタンを押して話した時」(Touch Up Inside)です。
こうして、、、
実装するところ。~.m を見ると、

ほら、追加されてる!!!
ここにボタンが押された時の処理を書きます。
ということで。とくにコードを書かなくても、InterfaceBuilderでうまいことやれば、
勝手にコードを書いてくれることを発見しました!!

