-2

基本クラスからサブクラスのメンバー変数にアクセスしようとしました。しかし、私はそれにアクセスすることはできません。null値を返します。

たとえば。

ベースクラスclassAとサブクラスClassBがあります。基本クラスClassAからclassBメンバー変数sayxにアクセスしようとしました。ただし、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 は null を表示せず、ゼロを表示します。

于 2012-04-20T06:02:44.903 に答える
0

これを試してください: NSLog(@"%d", BObj.x);

于 2012-04-20T05:20:08.330 に答える