2011-08-12 10 views
0

私は他のオブジェクトでそれらを使用する際に私が個人的に作ったいくつかのメソッドを隠したいと思います。カスタムクラスのいくつかのメソッドを非表示にするにはどうすればいいですか?

どのようにこれらのメソッドを非表示にできますか? '.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; 

答えて

0

あなたがちょうど彼らがあなたのクラスのパブリックインターフェイスで終わるいないことを確認しようとしている「隠す」ことであれば、あなたはそれらを残すことができますヘッダーファイルをインポートするときに他のクラスがメソッドを参照することはありません。

次に、あなたの.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 
+0

あなたは素晴らしいです.. –

+1

あなたは、すなわち '@interface uvSecondScreenを()'名を省略した場合は、拡張子を取得します。メリットは、宣言されたメソッドが.mファイルのそのクラスの '@ implementation'セクションに実装されていないと、teコンパイラがエラーを発することです。 –

関連する問題