クラス定義
Objective-Cではクラスの定義はインターフェイス部と実装部に分かれて定義します。
#import <stdio.h> #import <Foundation/NSObject.h> // インターフェイス部 @interface Foo : NSObject - (void) bar; @end // 実装部 @implementation Foo - (void) bar { printf("Hello World!\n"); } @end int main () { // インスタンス化 id obj = [Foo alloc]; // 処理実行 [obj bar]; }
@interface〜@endがインターフェイス部でFooがクラス名、NSObjectはスーパークラス名でとりあえずこれを指定しとけってことみたいなので従う。
「- (void) bar」がメソッド定義部分で括弧内が戻り値、barがメソッド名。
@implementation〜@endが実装部。
クラスのインスタンス化は「[クラス名 alloc]」メソッド呼び出しが「[オブジェクト メソッド名]」ってことみたい。
鉤括弧でメソッド呼びだしとかちょっと分かりにくいですが、まぁやっていく内に慣れるんですかねー。