思い立ったが吉日!

iOSが好きです。

特命初期化メソッド

特命初期化メソッドについて

アップルのドキュメントによると オブジェクトに複数の初期化メソッドを宣言する場合、そのうちの1つを特命初期化メソッドとする必要があります。 一般には、最も詳細な指定ができる(引数の個数が多い)メソッドを特命初期化メソッドとし、他の初期化メソッドは、内部的にこれを援用する(呼び出す)形で実装します。

例:firstName,lastName,dateOfBirthを初期化

- (id)initWithFirstName:(NSString *)aFirstName lastName:(NSString *)aLastName
dateOfBirth:(NSDate *)aDOB;

そのうち、firstName,lastNameだけ初期化したい場合
同じメソッドを呼びつつ、引数にnilを渡すことで一部を初期化しない
[self initWithFirstName:@"John" lastName:@"Doe" dateOfBirth:nil];