Я создал другой метод init и хотел бы, чтобы это был назначенный инициализатор вместо стандартного -init
. Как я могу запретить код клиента создавать экземпляр класса с помощью -init
?Objective-C: Как предотвратить инициализацию нестандартного инициализатора?
например.
/* everyone must call this */
- (id)initWithInfo:(NSDictionary *)info {
self = [super init];
if (self) {
_info = info;
}
return self;
}
/* Don't want anyone to be able to create this using init */
sidenote: ваш метод отсутствует 'return self;' –
и его «назначенный инициализатор», а не «инициализатор по умолчанию». – trojanfoe
Либо сопоставьте 'init' с другим' init ...', либо запустите его. Невозможно «скрыть» его. –