Init in Unterklasse überschreiben

In Objective-C, ist es notwendig, die Vorrang vor allen geerbten Konstruktoren einer Unterklasse, um eigene Initialisierungs-Logik?

Würden zum Beispiel die folgenden sein richtig für einen UIView Unterklasse mit eigene Initialisierungs-Logik?

@implementation CustomUIView

- (id)init {
    self = [super init];
    if (self) {
        [self initHelper];
    }
    return self;
}

- (id)initWithFrame:(CGRect)theFrame {
    self = [super initWithFrame:theFrame];
    if (self) {
        [self initHelper];
    }
    return self;
}

- (id)initWithCoder:(NSCoder *)decoder {
    self = [super initWithCoder:decoder];
    if (self) {
        [self initHelper];
    }
    return self;
}

- (void) initHelper {
    //Custom initialization
}

@end

InformationsquelleAutor der Frage hpique | 2010-12-05

Schreibe einen Kommentar