特命初期化メソッド
特命初期化メソッドについて
アップルのドキュメントによると オブジェクトに複数の初期化メソッドを宣言する場合、そのうちの1つを特命初期化メソッドとする必要があります。 一般には、最も詳細な指定ができる(引数の個数が多い)メソッドを特命初期化メソッドとし、他の初期化メソッドは、内部的にこれを援用する(呼び出す)形で実装します。
例:firstName,lastName,dateOfBirthを初期化 - (id)initWithFirstName:(NSString *)aFirstName lastName:(NSString *)aLastName dateOfBirth:(NSDate *)aDOB; そのうち、firstName,lastNameだけ初期化したい場合 同じメソッドを呼びつつ、引数にnilを渡すことで一部を初期化しない [self initWithFirstName:@"John" lastName:@"Doe" dateOfBirth:nil];