3

オブジェクトが他の 1 つのオブジェクトで構成される複合オブジェクトであるため、dealloc メソッドをオーバーライドしています。

私はもともとこのdeallocメソッドを持っていました:

-(id) dealloc; // Override to release the Rectangle object’s memory 
{
    [rect release];
    [super dealloc];
    return self;
}

本を見た後、私は別の答えを見ました:

{
   [rect release];
   return [super dealloc];
}

両方が同じように機能するかどうか疑問に思っています。

ありがとう、

ニック

4

2 に答える 2

10

どちらも間違っています。 ではなく、 をdealloc返します。voidid

- (void) dealloc {
  [rect release];
  [super dealloc];
}
于 2010-01-07T16:12:51.627 に答える
0

NSObject 参照を確認しました:dealloc戻り値の型がありません。したがって、そのような署名を定義するのは正しくないと思います。したがって、への呼び出しdeallocは戻り値を期待すべきではありません。

サブクラス化していない限りNSObject...

于 2010-01-07T16:13:15.900 に答える