2010-12-04 217 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

相關問題