Objective c 如何限制对类的独占访问初始值设定项方法

Objective c 如何限制对类的独占访问初始值设定项方法,objective-c,pointers,memory-management,grand-central-dispatch,objective-c-blocks,Objective C,Pointers,Memory Management,Grand Central Dispatch,Objective C Blocks,我正在学习objective-c中的模块,并在学习objective-c中有关指针或消息传递机制的一些主题。 当我读到一个突然出现或出现在我脑海中的问题时,如何从指向例如NSString类的指针中隐藏一个方法??换句话说,如何将方法的可见性限制为仅适用于或仅对类NSString-可见,以便实例或指针无法访问它,也无法在自动完成中看到它 据我所知 init method(s) 应该是工厂或类的任何实例或对象的主创建者/生成器的属性,例如NSArray和NSString-[

我正在学习objective-c中的模块,并在学习objective-c中有关指针或消息传递机制的一些主题。 当我读到一个突然出现或出现在我脑海中的问题时,如何从指向例如NSString类的指针中隐藏一个方法??换句话说,如何将方法的可见性限制为仅适用于或仅对类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

这是非常令人困惑的。什么是“如何对指向[a]类的指针隐藏一个方法”是什么意思?什么是“如何限制对init方法的指责”是什么意思?什么是“如何限制一个方法的可见性仅适用于或仅对一个方法可见”是什么意思?如果你只是给我们展示一个例子,说明你希望这些方法在哪里可见,在哪里不可用,也许这会更清楚。也就是说,退一步,描述你试图解决的更广泛的问题。但是,在回答让方法可见与否这个更广泛的问题时,基本的想法是如果你想要公开方法,请将它们包含在
@interface
文件的
.h
中。如果不想公开特定的方法,只需从公共
.h
界面中忽略它们即可。