Loose-Info.com
Last Update 2013/02/13
TOP - Objective-C - フレームワーク - Foundation - NSObject - -init

メモリが割り当てられた新しいインスタンスの初期化を行うメソッドで、サブクラスにより実装されます。
NSObjectクラスのinitメソッドは、特に初期化を行わず、単純にselfを返します。

- (id)init


戻り値1 = [ オブジェクト1 init ]

戻り値1
id
オブジェクト1の初期化されたインスタンス
オブジェクト1
+allocによる割り当てが終了したオブジェクト

(例)
※ Xcodeで生成される「***_Prefix.pch」などのファイルの内容は記載しません。

MyTestClass.h
#import <Foundation/Foundation.h> @interface MyTestClass : NSObject - (id)init; @end

MyTestClass.m
#import "MyTestClass.h" @implementation MyTestClass static long order = 1; - (id)init { self = [super init]; if (self) { NSLog(@"%ld番目インスタンスの初期化完了\n", order++); } return self; } @end

main.m
#import "MyTestClass.h" int main (void) { MyTestClass *mtc1 = [[MyTestClass alloc] init]; MyTestClass *mtc2 = [[MyTestClass alloc] init]; return 0; }

実行結果
1番目インスタンスの初期化完了 2番目インスタンスの初期化完了