Как ограничить доступ к методу инициализатора в классе - PullRequest
0 голосов
/ 12 октября 2019

Я изучаю блоки в target-c и некоторые темы, связанные с указателем или механизмом передачи сообщений в target-c. Когда я читаю всплывающий или пришедший мне в голову вопрос, как можно скрыть метод от указателя, например, на класс NSString? Другими словами, как ограничить видимость метода, чтобы он был применим или виден только для CLASS -NSString-, чтобы экземпляр или указатель не могли получить к нему доступ или увидеть его в автозаполнении?

Насколько я понимаю,

           init method(s) 

должно быть свойством фабрики или основного создателя / генератора для любого экземпляра или объекта класса, таких как NSArray и NSString - [[NSString alloc] init]- однако при создании указателя на такой класс у меня есть доступ к

           init methods(s)
           [ptr init]

Пожалуйста, дайте мне знать, как ограничить доступ к методам init, например, к классу «как если бы это был метод класса», С возможностью ссылаться на него через

self
[self init]

и квалифицировать его или ставить перед ним знак« - »в файле @interface file« .h ». Возможно ли это?

код :

@interface OwnInterface_v1_0 : NSObject {
   NSString *_country;
 NSString *_city;
    //NSString *_address;
    //NSString *_phone;
}

@property (nonatomic, assign) NSString *prop;

-(OwnInterface_v1_0 *) initWithCountry: (NSString *) country;
-(OwnInterface_v1_0 *) initWithCity: (NSString *) city;
-(OwnInterface_v1_0 *) initWithCountry: (NSString *) country andCity: (NSString *) city;

-(void) passParameterLessBlock_1:(void (^) (void)) block;

@end
...