Зависит. Если ваш класс унаследован от NSObject
, он будет иметь унаследованный метод init
(который ничего не делает с переменными вашего экземпляра). Так что в этом смысле, даже если вы действительно не хотите иметь метод init
, у вас, скорее всего, все еще будет такой. Поэтому, если ваш вопрос был «Нужно ли реализовывать тривиальный метод init
?», Ответ «нет, вам не нужно». Однако, если ваш вопрос был «Нужно ли мне вызывать метод init
, если я не переопределил его?», Тогда ответ «да, вы делаете». Что бы вы ни делали с подклассами NSObject, в какой-то момент вам все равно нужно вызвать init
после создания объекта. Таков образ жизни.
Как говорится, вы скорее всего хотите init
метод, если только инициализация вашего объекта не требует ничего, кроме обнуления всего вашего объекта.
В противном случае, если вы решите , а не наследовать от NSObject
или какого-либо из его подклассов и просто наследовать от ничего, это явно плохая идея, поскольку класс NSObject
работает со всем Требуется время выполнения ObjC, и требования достаточно высоки, тогда у вас потенциально не будет init
метода вообще . А если серьезно, не пытайтесь делать это дома.