Objective-C でのメソッドの使い方、書式、呼び出し方、使用例について、簡単に説明
メソッドはある処理、あるいは処理をまとめたもので、プログラムはそのメソッドを組み合わせて作ります。
メソッドの宣言と実装
メソッドの定義は;
1. 宣言します
-(戻り値の型) メソッド名: (引数の型)引数; |
1 |
- (NSString *) myMthod:(NSString *)myParameter; |
2. 実装部で実際の処理の詳細を記述します
-(戻り値の型)メソッド名: (引数の型)引数{ // 処理 } |
1 2 3 |
- (NSString *) myMthod:(NSString *)myParameter{ // 処理 } |
3. 呼び出しして使うときは
-(戻り値の型) 変数名 = [インスタンス名 メソッド名:引数]; |
1 |
NSString *str = [myClass myMethod:myParameter]; |
(myClassは該当クラスのインスタンスを表す変数)
簡単にメソッドを作ってみる
簡単にメソッドを作って試してみたいと思います。
XcodeでHello World などを実行する簡単な Single View Application のプロジェクトを作成します
Single View Application を作成
ViewController.m に以下のコードを記述し、
結果をデバッガーエリアのデバッグメッセージで確認します
同一クラス内に実装と呼び出しがあるので宣言はここでは入れなくてもビルド実行できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // name に山田の文字を代入 NSString *name =@"山田"; // 同じクラス内なので self でメソッドを呼び出す NSString *str = [self myMethod:name]; // 結果をデバッグログで確認する NSLog(@"%@", str); } // myParameter の文字を「こんにちは...です」に変換する - (NSString *)myMethod:(NSString *)myParameter{ NSString *result=[NSString stringWithFormat:@"こんにちは%@です",myParameter]; return result; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end |
デバッグログで「こんにちは山田です」と
resultの値を表示しています
メソッドには2種類あり
1. インスタンスメソッド
2. クラスメソッド
(今回紹介したのは1のメソッド)
また、いくつかのパターンがある
1. 戻り値も引数もないメソッド
2. 戻り値が無く、引数が1つのみ
3. 戻り値があり、引数が無い
4. 戻り値があり、引数が2つある
(今回のメソッドは3のケース)