我一直在讀一本書,目標C,並創建一個包含其他類的類(組成)它使用自己= [超級初始化]
- (id) init
{
if (self = [super init]) {
engine = [Engine new];
tires[0] = [Tire new];
tires[1] = [Tire new];
tires[2] = [Tire new];
tires[3] = [Tire new];
}
return (self);
} // init
而當他正在創建另一類,他不包括這個它的方法,我明白它需要初始化它將要使用的實例對象,但我不明白他爲什麼要把self = [super init]和一個類需要這個語句。
@interface Tire : NSObject
@end // Tire
@implementation Tire
- (NSString *) description
{
return (@"I am a tire. I last a while");
} // description
@end // Tire
您可以包括在不使用這種方法的其他類的例子嗎?那麼解釋起來會更容易一些。 – jrturton 2012-08-01 07:31:41
像輪胎類,它只需要新的消息或頁頭] INIT]開始,但爲什麼這個類的init方法需要自我= [超級的init]的[我爲什麼要叫自我= \ – Pedro 2012-08-01 07:35:54
可能重複[超級初始化\]? ](http://stackoverflow.com/q/2956943/),[爲什麼使用self = \ [super init \]而不是\ [super init \]?](http://stackoverflow.com/q/10139765 /),[爲什麼在構造函數中使用\ [super init \]](http://stackoverflow.com/q/9283004/),[self = \ [super init \] revisited](http://stackoverflow.com/q/9554249 /),[self = \ [super init \]](http://stackoverflow.com/q/10779937/),[自我分配給\ [super init \]的作用是什麼?]( http://stackoverflow.com/q/5594139/) – 2012-08-01 07:49:11