重複の可能性:
なぜself =[superinit]と呼ぶ必要があるのですか
私はObjectiveCの本を読んでいて、他のクラス(構成)を含むクラスを作成するために、self =[superinit]を使用します。
- (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
彼が別のクラスを作成しているとき、彼はこのinitメソッドを含めていません。使用するインスタンスオブジェクトを初期化する必要があることは理解していますが、なぜ彼がself =[superinit]を設定しているのかわかりません。クラスにはこのステートメントが必要です。
@interface Tire : NSObject
@end // Tire
@implementation Tire
- (NSString *) description
{
return (@"I am a tire. I last a while");
} // description
@end // Tire