首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

怎么设置父类的属性的初始值

2012-03-12 
如何设置父类的属性的初始值?如下两个类----------------------------------------------@interface A : N

如何设置父类的属性的初始值?
如下两个类
----------------------------------------------
@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

这里怎么办?

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

[解决办法]
你在父类 init方法里面设置一个断点,看看子类init的时候有没有跳转到 父类的init方法里面

一般父类init了,输出是没有问题的

热点排行