!!!iPhone Xcode 基本 [Mac][Objective-C][iPhone Xcode] *http://developer.apple.com/iphone/library/documentation/Cocoa/Reference/Foundation/ObjC_classic/ !!プロジェクトの新規作成 !ファイル ー 新規プロジェクト ::View-based Application を選択 *一つの View 利用するアプリケーションのテンプレートを提供。 *View を管理するための View コントローラ および View を含む nib ファイル を提供 {{ref_image xcode01.png}} !SDKの設定 *プロジェクトウィンドウの左上からアクティブSDKを選択する {{ref_image active_sdk.png}} !エミュレータの実行 *ビルドして実行 {{ref_image build_exec.png}} *実行された {{ref_image iphon_emu.jpg}} !!画面の作成 !InterfaceBuilder を起動する *Resoureces の xib ファイルが View の本体 {{ref_image xcode02.png}} *ダブルクリックで、InterfaceBuilder が起動する。 {{ref_image interface_builder.jpg}} !Tool Library からオブジェクトを配置 *メニュー の Tools - Library を選択 {{ref_image tool_library.png}} *Cocoa Touch - Input & Values からオブジェクトをドラッグ {{ref_image drop_objects.png}} *プロパティを設定 {{ref_image properties.png}} !!画面(View)とコードを結びつける !アウトレットとアクション *画面オブジェクトを動作させるために、以下の仕掛けを使ってプログラムと結びつける。 ,名称,内容 ,アウトレット,プログラムからビューオブジェクトを参照したり、操作するときに用いる名前 ,アクション,ユーザーがビューオブジェクトを操作したときに、プログラムを呼び出すために用いる名前 !アウトレットとアクションの記述 *Classes/TestViewBaseAppViewController.h を開き、アウトレットとアクションを宣言 #import @interface TestViewBaseAppViewController : UIViewController { // アウトレットの宣言 IBOutlet UILabel *display; } // アクションの宣言 - (IBAction)printMsg; @end *アウトレットは、IBOutlet というキーワードがついたインスタンス変数 *アクションは、戻り値が、IBAction であるインスタンスメソッド ::GUIから作成することもできる {{ref_image make_action_gui.png}} !アウトレットやアクションの接続 ::Connection Inspector を起動 *File's Owner をクリックすると、Outlet、Receive Actions に定義した値が表示されている。 {{ref_image outlet_action.png}} ::接続 *Connection Inspector のアウトレットの右側にある小さい丸をレイアウト上の対象のオブジェクトまでドラッグすることで結びつける *ラベル {{ref_image bind_outlet.png}} *同様にボタンとアクションを結びつけると、イベント選択のリストが表示される。 {{ref_image bind_action.png}} !アクションの処理 *設定内容からクラスファイルを書き出す。 *メニュー - File - Write Class Files {{ref_image write_class_file.png}} *Replace にすると、生成したコードで完全に置き換え。Merge を選択すると差分を比較しながらマージ {{ref_image dif_confirm.png}} ::メッセージを表示するコードを記述 *Classes/TestViewBaseAppViewController.m を編集 #import "TestViewBaseAppViewController.h" @implementation TestViewBaseAppViewController - (IBAction)printMsg { [display setText:@"Hello World"]; } @end !実行 {{ref_image executed.png}}