在目标c中从基类访问子类成员

时间:2012-04-20 04:51:35

标签: objective-c xcode oop inheritance

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

例如......

我有基类classA和Subclass 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).

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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