-2

我试图从基类访问子类成员变量。但我无法访问它。它返回一个空值..

例如..

我有基类 classA 和子类 ClassB。我试图从基类ClassA访问classB成员变量说x。但它返回null。我为classB变量分配了一些值。

我试过这样..

In classA.h

@classB

@property (nonatomic, retain) classB *BObj;


In classA.m


#import classB.h

@synthesize BObj;

BObj = [[classB alloc]init];
NSLog(@"%d",BObj.x); //returns NULL


In ClassB.h

@interface ClassB :ClassA

@property(nonatomic,retain) int x;

In ClassB.m

@synthesize x;

x = 10; //This value should be read from super class(Class A).
4

2 回答 2

2

正如 Chuck 在评论中所说,这看起来不像真正的代码。你在哪里将 x 设置为 10?如果它不在您的 init 方法中,或者在从 init 调用的方法中,它将不会显示。而且您已通过编辑使您的投诉无效 - 记录 %d 不会显示为空,它将显示为零。

于 2012-04-20T06:02:44.903 回答
0

试试这个: NSLog(@"%d", BObj.x);

于 2012-04-20T05:20:08.330 回答