必要に応じて.hファイルのインターフェイスで多くの変数を宣言しても問題ありません(他の回答で触れられているように)。しかし、公開する必要のないインスタンス変数を.mファイル内のカテゴリに移動することを検討することが賢明でしょう。たとえば、次のように
#import <Foundation/Foundation.h>
@interface SomeClass : NSObject {
NSDictionary *publicDict;
NSArray *privateArray;
}
@property (nonatomic, strong) NSDictionary *publicDict;
-(void)publicMethod:(id)anObj;
@end
とIn:.hの中
。メートルのファイル:
#import "SomeClass.h"
@interface SomeClass() //Category that denotes private methods
@property (nonatomic, strong) NSArray *privateArray;
-(void)privateMethod;
@end
@implementation
@synthesize publicDict;
@synthesize privateArray;
-(id)init {
//...
}
-(void)publicMethod:(id)anObj {
//..
}
-(void)privateMethod {
//..
}
@end
これは、コンパイラは、そのカテゴリに含まれる民間の任意の方法が外部のクラスによってアクセスされるたびに警告を発するようになります。さらに、Objective-Cのカプセル化の側面を遵守するために広く受け入れられている方法です。
'UI'(およびそのサブクラス)変数の数を、' tag'を使用して参照することにより、いつでも減らすことができます – tipycalFlow