Если я реализую класс, который не имеет разумных значений по умолчанию, что мне делать с методом init, который не принимает аргументов? Если допустимых значений по умолчанию нет, метод init бесполезен.
Моя интуиция говорит, что должна освободить объект и вернуть nil:
- (id)init {
[self release];
return nil;
}
... но при чтении документов Apple для NSObject:
Каждый класс должен гарантировать, что метод init либо возвращает полностью функциональный экземпляр класса, либо вызывает исключение.
Это меня смущает: (