Прежде всего, как я понимаю, init в Objective-C
, функционально похож на конструктор в Java
, поскольку он используется для инициализации переменных экземпляра и подготовки класса для выполнения некоторой работы. Правильно ли это?
Я понимаю, что NSObject
реализует init
, и поэтому он не должен быть объявлен в каких-либо файлах .h
.
Но как насчет пользовательской реализации init для данного класса, например:
(id) initWithName:(NSString *) name
Должна ли такая декларация быть указана как часть .h
, или это необязательно? Это делается по соглашению или есть ли какие-либо другие соображения?