Я понимаю, что назначение инициализатора - установить переменные экземпляра для определенных значений. Однако я смущен тем, почему вы хотите иметь несколько инициализаторов для каждой переменной экземпляра. Не может ли один инициализатор установить все переменные экземпляра? На мой вопрос, на самом деле, это вопрос практичности наличия нескольких инициализаторов в классе. Например класс имеет следующее:Что представляет собой назначение нескольких инициализаторов
- (id)initWithItemName:(NSString *)name
{
return [self initWithItemName:name valueInDollars:0 serialNumber:@""];
}
Между тем назначенный инициализатор дается как таковой:
- (id) initWithItemName:(NSString *)name valueInDollars:(int)value
serialNumber:(NSString *)sNumber;
Назначенный инициализатор, как вы можете видеть, уже инициализирует переменную ITEMNAME. Итак, что означает, что у него есть определенный инициализатор только для одной переменной.
Я собирался напечатать хороший длинный ответ, но я вижу, что Блейк сделал это сначала ... так вот немного документации от Apple, которая может немного объяснить ситуацию: [Несколько инициализаторов и назначенный инициализатор] (http://developer.apple.com/library/ios/Documentation/General/Conceptual/CocoaEncyclopedia/Initialization/Initialization.html#//apple_ref/doc/uid/TP40010810-CH6-SW3). –