クラスを定義する


ソースが長くなる外部ファイルに分けたいと思うことがある
XcodeのメニューからFile > New > File
からObjective-Cクラスを選択する。
名前を入力すればクラスが作られる。例えばTargetという名前で作る。
継承するクラスを選択できるので、UIViewを選択して継承する。

するとTarget.hとTarget.mというファイルが生成される。

これを最初にあるViewControllerからアクセスしたい。なんらかのメソッドを書いてアクセスしたい訳だ。

Target.mにはinitWithFrameみたいなメソッドがあったのだがよくわかんのでコメントにしておいた。

//- (id)initWithFrame:(CGRect)frame
//{
//    self = [super initWithFrame:frame];
//    if (self) {
//        // Initialization code
//    }
//    return self;
//}

まずTarget.hとTarget.mの両方に呼び出すメソッドを準備する。
Target.mのほうにhugahugaというメソッドを用意した。

-(NSString *)hugahuga
{
    NSLog(@"TargetClassほげ");
    NSString * str = @"Class の返り値";
    return str;
}

NSStringを返すメソッドである。

hugahugaというメソッドは外部からアクセスするのでTarget.hに記述しておく。

@interface Oven : UIView

- (NSString *) hugahuga; //追加

これで呼び出される方の準備は完了。

つぎに呼び出す方を書いていく
ViewController.hにクラスをインポートをする記述をする。

#import <UIKit/UIKit.h>
#import "Target.h" //追加

別にこれはヘッダでインポートしなくてもいいみたい。

ViewController.mに呼び出しの記述をする。

    Target *huga = [[[Target alloc]init] autorelease];
    NSString * aaaa = [huga hugahuga];
    NSLog(@"%@", aaaa);

インスタンスを作ってhugahugaを呼び出す。
NSLogにClass の返り値と表示されれば成功。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です