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