例えば、People
というモデルを生成する際にinitWithName:
みたいなイニシャライザを作ったとします。
そうすると、生成時は
People*people = [[People alloc] initWithName:@"Yuki"]
みたいになります。
ところで、Objective-Cでは段々とこのallocってわざわざ書く必要あんの…?という流れになってきています。
例えばnew
は恐らく内部で
+ (instancetype)new{
return [[People alloc] init];
}
となっています。
引数を渡す場合も
People *people = [People peopleWithName:@"Yuri"];
って書けるといいですよね。
newの例でお分かりかと思いますが、
+ (instancetype)peopleWithName:(NSString*)name
というメソッドを作り、内部でinitWithName
を呼べばいいのですね。
+ (instancetype)peopleWithStatus:(NSString *)name{
return [[People alloc] initWithName:name];
}
いじょ!