【发布时间】:2012-04-20 04:51:35
【问题描述】:
我试图从基类访问子类成员变量。但我无法访问它。它返回一个空值..
例如..
我有基类 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).
【问题讨论】:
-
您的代码在语法上根本无效。如果您不给我们真正的代码来查看,任何想要帮助的人都必须玩 20 个问题来解决这个问题。
-
@chuck:我粘贴了上面的代码,这是我实际代码的副本。我刚刚替换为classA和classB。就这样。你能给我一个例子来从基类访问子类对象的值吗..
-
不,那也不会编译。
标签: objective-c xcode oop inheritance