2010-12-04 162 views
0

我创建一个子类AOBject从NSObject的是否有可能访问

@interface AObject : NSObject { 
    NSinteger m; 
    NSInteger n; 
} 


-(void) setM:(NSInteger)v ; 
-(NSInteger) getM ; 
-(void) setN:(NSInteger)v ; 
-(NSInteger) getN ; 

要访问米对象的成员变量,N,I可以用[myAObject getM]或[myAObject getN]

是有可能使用标记或任何其他方式访问m,n,我可以访问队列中对象的所有成员变量?

欢迎发表评论。

感谢

InterDev中

回答

2

您无法访问使用标签或任何整数;你必须通过你制作的二传手和吸气手。

如果您想要访问每个这些成员变量,您可以使用NSNumber而不是NSInteger,并显式创建一个数组来保存这些值。要做到这一点,声明localVariables阵列,并在构造函数初始化它,就像这样:

-(id) init { 
    if (self = [super init]) { 

     // initialize and set values for m and n 
     NSArray *array = [[NSArray alloc] initWithObjects:self.m, self.n, nil]; 
     self.localVariables = array; 
     [array release]; 
    } 
    return self; 
} 

然后你就可以通过这个遍历访问所有的局部变量。

顺便说一句,你可以通过添加

@property NSInteger m; 
@property NSInteger n; 

到你的头文件照顾getter和setter方法,并

@synthesize m,n; 

您实现文件。

+0

谢谢。你的意思是说NSNumber可以吗? – arachide 2010-12-04 02:47:18

相关问题