Last Update 2013/02/13
メモリが割り当てられた新しいインスタンスの初期化を行うメソッドで、サブクラスにより実装されます。
NSObjectクラスのinitメソッドは、特に初期化を行わず、単純にselfを返します。
NSObjectクラスのinitメソッドは、特に初期化を行わず、単純にselfを返します。
- (id)init
戻り値1 = [ オブジェクト1 init ]
戻り値1
id
オブジェクト1の初期化されたインスタンス
オブジェクト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番目インスタンスの初期化完了