iOSアプリ開発 基本のところ
目次
プロジェクトの作成
プロジェクトの作成は簡単で下記の3ステップ!
これだけでとりあえずiOSのアプリが開発できる状態になります!
- xcodeを開く
「Create a new Xcode project」をクリック。
- テンプレートの選択
ここでアプリケーションの雛形を選択できる。
- プロジェクトの基本情報の設定
プロジェクト名や作成者等の基本情報を設定。
作成されるファイル
プロジェクトを作成すると自動的に必要最低限のファイルが作成されます。
どのようなファイルができたか確認してみます。
これだけです。
AppDelegate.h、AppDelegate.m、ViewController.h、ViewController.m、Main.storyboard
Objective-Cのソースファイルはヘッダファイル(.h)と実装ファイル(.m)が2つ1組でクラスの定義になります。
ここではAppDelegateとViewController2つのクラスが作成されています。
この2つはiOSアプリの基本となるクラスです。
AppDelegateクラス
アプリが起動した直後や停止/復帰野際に行う処理を記述します。
ViewControllerクラス
画面のタップやスクロール等のイベントに対する処理を記述します。
ストーリーボード(.storyboard)
xmlで記述されています。
画面項目の設定が記述されているようです。
別にここで記述しなくてもプログラムコードに書けば画面項目を配置することも可能みたいですが、MVCを分けるためにこのファイルがあるのかなと思います。
プログラムコードに画面の配置や設定をすべて書くとコードが読みにくくなってしまいますもんね。
C#やVB等と同じ感じかな。
画面オブジェクトの配置
画面オブジェクトの配置は簡単でポン、ポン、ポンって配置できます。
試しにラベルとボタンをポンポンっと。
配置完了!簡単だね!!
これだと画面はさくさく作れる気がします。
storyboadとViewControllerのひも付け
配置するだけだとまだViewControllerから利用できないのでひもづける必要がある。
- ツールバー右側の蝶ネクタイ(に見えないですか?)みたいなアイコンをクリック
すると画面のレイアウトとViewControllerのソースが1画面で表示される。 - controlキーを押しらならラベルをつかんでソースにぽん!
プロパティになるので@interface〜@endの間にぽん!
- プロパティ名等の設定
Nameにプロパティ名を入れてConnectボタンを押したらひも付け完了
これでソースからオブジェクトを利用することができます。
試してみる!
ViewController.mのviewDidLoadメソッド内に下記のコードを追加。
「_」ですが、実際はself.label1と記述しないといけないのを「_」と省略できるようです。
_label1.text = @"表示されるかな?";
// // ViewController.m // test // // Created by strict systems on 2015/06/17. // Copyright (c) 2015年 yohei yaka. All rights reserved. // #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UILabel *label1; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. _label1.text = @"表示されるかな?"; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
実行!
実行はツールの左上にある三角ボタンを押すだけです!!
押すとiphoneのエミュレータが立ち上がりプログラムを実行します。
実行結果
おぉ!すげぇ!できた!
ラベルの幅が短かったので「表..」ってなっているが動いたぞぉ!
次はボタンのアクションとひもづけてみます。
ひも付けかたはプロパティのときと同じでcontrolキーを押しながらボタンをポンってするだけです。
プロパティのときは@interface〜@endの間にポンしたがアクションの場合はどこでも良さそうな感じです。
とりあえず下の方にポン
ConnectionがActionになってます。@interface〜@endの間に置くとOutletになるのでActionに変更してください。
メソッド名をNameに記述してConnectボタンを押すとメソッドが作成されます!
これでボタンを押した際の処理がひもづけられました。
試してみる!
追加されたメソッドを下記のように記述して実行
- (IBAction)buttonClick:(id)sender { _label1.text = @"押したね"; }
ボタンを押すと…
変わった!これもラベルが短いため「押…」ってなっているけど動いたぞぉ!
所感
画面のオブジェクトやプロパティを見てみたがいろいろなものがありまだ何に使うかとか全然わからないが、とりあえずこれで簡単な作成方法がわかった!
なんか思っていたより簡単かも、ただ、複雑なアプリは厄介なんだろうなとまだ不安が拭いきれない私でした。。。