Как скрыть некоторые методы в пользовательском классе? - PullRequest
0 голосов
/ 12 августа 2011

Я хотел бы скрыть некоторые методы, которые я сделал лично при использовании их в другом объекте.

Как можно скрыть эти методы?Если я не определю в .h (файл заголовка), возможно ли это?

[часть файла заголовка .h]

- (void) sequence1; //<= For example, I would like to hide it.
- (void) sequence2;
- (void) sequence3;
- (void) sequence4;
- (void) sequence5;
- (void) sequence6;
- (void) mcpSelect;
- (void) replay;
- (void) myTurn;

- (IBAction)kaPressed:(id)sender;
- (IBAction)baPressed:(id)sender;
- (IBAction)boPressed:(id)sender;

Ответы [ 2 ]

0 голосов
/ 12 августа 2011

Объявите их в файле реализации с @private, за которым следует @end. По определению цель c не имеет закрытых методов

Лучший способ определить закрытые методы для класса в Objective-C

0 голосов
/ 12 августа 2011

Если с помощью команды «скрыть» вы просто пытаетесь убедиться, что они не попадают в открытый интерфейс вашего класса, вы можете оставить их вне файла .h, чтобы другие классы не увидели методы, импортируйте файл заголовка.

Затем в своем файле .m вы можете объявить дополнительные методы как категорию для вашего класса:

@interface uvSecondScreen (PrivateMethods)
-(void)privateMethod1;
-(void)privateMethod2;
@end

@implementation uvSecondScreen
// Implementation of all public methods declared in uvSecondScreen.h

-(void)privateMethod1 {
    NSLog(@"Entered privateMethod1");
}

-(void)privateMethod2 {
    NSLog(@"Entered privateMethod2");
}
@end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...