Я думаю, что вы неверно истолковали то, что прочитали.Я не думаю, что вы бы бросили исключение.Вы могли бы;однако утечка памяти.Если ваш метод initWithObject: выглядит следующим образом:
- (id)initWithObject:(id)obj {
if ((self = [self init])) {
self.url=[obj url];
self.blurb=[obj blurb];
self.author=[obj author];
}
return self;
}
И все будет в порядке.Вы можете получить исключение, если ваш объект был создан с помощью -init, и вы использовали переменную, которая была присвоена, предполагая, что это реально.Поэтому в ваших последующих методах обязательно проверяйте, существуют ли объекты перед их использованием.
Если вы создали свой объект с -init вместо -initWithObject, это может вызвать исключение:
- (void)dealloc {
[url release];
[blurb release];
[author release];
[super dealloc];
}