3,742 バイト追加
、 2020年2月15日 (土) 07:32
==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 ファイル を提供
[[File:0650_xcode01.png]]
====SDKの設定====
*プロジェクトウィンドウの左上からアクティブSDKを選択する
[[File:0636_active_sdk.png]]
====エミュレータの実行====
*ビルドして実行
[[File:0639_build_exec.png]]
*実行された
[[File:0644_iphon_emu.jpg]]
===画面の作成===
====InterfaceBuilder を起動する====
*Resoureces の xib ファイルが View の本体
[[File:0651_xcode02.png]]
*ダブルクリックで、InterfaceBuilder が起動する。
[[File:0643_interface_builder.jpg]]
====Tool Library からオブジェクトを配置====
*メニュー の Tools - Library を選択
[[File:0648_tool_library.png]]
*Cocoa Touch - Input & Values からオブジェクトをドラッグ
[[File:0641_drop_objects.png]]
*プロパティを設定
[[File:0647_properties.png]]
===画面(View)とコードを結びつける===
====アウトレットとアクション====
*画面オブジェクトを動作させるために、以下の仕掛けを使ってプログラムと結びつける。
{|class="wikitable"
!名称
!内容
|-
|アウトレット
|プログラムからビューオブジェクトを参照したり、操作するときに用いる名前
|-
|アクション
|ユーザーがビューオブジェクトを操作したときに、プログラムを呼び出すために用いる名前
|-
|}
====アウトレットとアクションの記述====
*Classes/TestViewBaseAppViewController.h を開き、アウトレットとアクションを宣言
#import <UIKit/UIKit.h>
@interface TestViewBaseAppViewController : UIViewController {
// アウトレットの宣言
IBOutlet UILabel *display;
}
// アクションの宣言
- (IBAction)printMsg;
@end
*アウトレットは、IBOutlet というキーワードがついたインスタンス変数
*アクションは、戻り値が、IBAction であるインスタンスメソッド
=====GUIから作成することもできる=====
[[File:0645_make_action_gui.png]]
====アウトレットやアクションの接続====
=====Connection Inspector を起動=====
*File's Owner をクリックすると、Outlet、Receive Actions に定義した値が表示されている。
[[File:0646_outlet_action.png]]
=====接続=====
*Connection Inspector のアウトレットの右側にある小さい丸をレイアウト上の対象のオブジェクトまでドラッグすることで結びつける
*ラベル
[[File:0638_bind_outlet.png]]
*同様にボタンとアクションを結びつけると、イベント選択のリストが表示される。
[[File:0637_bind_action.png]]
====アクションの処理====
*設定内容からクラスファイルを書き出す。
*メニュー - File - Write Class Files
[[File:0649_write_class_file.png]]
*Replace にすると、生成したコードで完全に置き換え。Merge を選択すると差分を比較しながらマージ
[[File:0640_dif_confirm.png]]
=====メッセージを表示するコードを記述=====
*Classes/TestViewBaseAppViewController.m を編集
#import "TestViewBaseAppViewController.h"
@implementation TestViewBaseAppViewController
- (IBAction)printMsg {
[display setText:@"Hello World"];
}
@end
====実行====
[[File:0642_executed.png]]