Реализация -init vs. + initialize
Может кто-нибудь объяснить, почему мы должны включитьif (self == SomeClass class)
внутри+initialize
метод?
Я нашел похожие вопросы (перечислены ниже), но не нашел никаких конкретных разъяснений:
Цель-C: инициализация против инициализацииДолжна ли + initialize / + load всегда начинаться с: if (self == [MyClass class]) guard?Все говорят, что если вы не внедрите / не переопределите+initialize
в подклассе он будет вызывать родительский класс дважды.
Может ли кто-нибудь объяснить эту часть, в частности, почему она дважды вызывает родительский класс?
И наконец, почему этого не происходит, когда мы реализуем+initialize
в классе, который наследует от NSObject, где мы создаем пользовательский-init
метод и вызовself = [super init];
.