Почему я должен проверить [сам класс

В AppDelegate из BubbleLevel пример из Apple, они делают что-то вроде этого:

+ (void)initialize {
    if ([self class] == [LevelAppDelegate class]) {
        // Register a default value for the instrument calibration. 
        // This will be used if the user hasn't calibrated the instrument.
        NSNumber *defaultCalibrationOffset = [NSNumber numberWithFloat:0.0];
        NSDictionary *resourceDict = [NSDictionary dictionaryWithObject:defaultCalibrationOffset forKey:BubbleLevelCalibrationOffsetKey];
    	[[NSUserDefaults standardUserDefaults] registerDefaults:resourceDict];
    }
}

Почему они так делают [self класса] == [LevelAppDelegate класса] ?

Найдено 1 ответ:

Why should I check for [self class] == [LevelAppDelegate class] in an initialize method?

http://stackoverflow.com/questions/828787/why-should-i-check-for-self-class-levelappdelegate-class-in-an-initialize

Посмотреть решение →