2

を見たことがありますif(self = [super init])が、最近、割り当てを行うのではなく、等しいかどうかをテストするコードに出くわしましたif(self == [super init])。このコードの目的は何ですか? とどのように対照的if(self = [super init])ですか?

コンテキストについては、これは関数全体です。

- (id)initWithDelegate:(id<BSForwardGeocoderDelegate>)aDelegate
{
    if (self == [super init])
    {
        delegate = aDelegate;
    }
    return self;
}
4

1 に答える 1

4

等しいかどうかをチェックすることは意味がなく、単に間違っています。

割り当てはsuper、別のオブジェクトを返す可能性があるためです。

于 2013-04-30T12:54:02.633 に答える