Зачем использовать [ClassName alloc] вместо [[self class] alloc]?
Я читаю через Марка ДалримплаУзнайте Objective-C на Mac (только в главе о протоколах, так что все еще относительно новичок) и пытается выяснить что-то:
Зачем вам ссылаться на класс под собственным именем? Если бы у меня был класс под названиемFoo
зачем мне писать, скажем,
[[Foo alloc] init]
и не
[[[self class] alloc] init]
Если бы у меня был подкласс Bar, не первый вариант лишил бы меня силы писать
[[Bar alloc] init]
тогда как второй вариант позволил бы это? Когда первый вариант будет лучше?