如下两个类
----------------------------------------------
@interface A : NSObject {
NSString *x;
}
@property (retain,nonatomic) NSString *x;@end
---------
#import "A.h"
@implementation A
@synthesize x;
@end
-----------------------------------------------
#import <Foundation/Foundation.h>
#import "A.h"@interface B : A {}
@end
------------
#import "B.h"
@implementation B@end
-------------------------------------------------
如上面代码, 现有B C D E.....等类均继承于A类,
怎么办能给A的X属性初始化一个值@"测试"使得
B *b = [[B alloc] init];
NSLog(b.x);C *c = [[C alloc] init];
NSLog(b.x);
..........
均能输出@"测试".例如在C#中可以直接写
@interface A : NSObject {
NSString *x = @"测试";
}
@property (retain,nonatomic) NSString *x;@end这里怎么办?

解决方案 »

  1.   

    a 的init中
     NSString *x = [[NSStringalloc] initWithString:@"测试"];
     
      

  2.   

    你在父类 init方法里面设置一个断点,看看子类init的时候有没有跳转到 父类的init方法里面一般父类init了,输出是没有问题的
      

  3.   

    楼上的,我最初也是想的这种方法,父类init了,但好像父类的就是父类的,调用子类的还是木有.
      

  4.   

    谢谢各位  马上结贴  
    我自己的问题  确实是在init那里写
      

  5.   

    可以在A类中重载init方法,初始化string值