Objective-C Безопасно ли перезаписывать [NSObject initialize]?

По сути, у меня есть следующий код (здесь объясняется: Константы Objective-C в протоколе )

// MyProtocol.m
const NSString *MYPROTOCOL_SIZE;
const NSString *MYPROTOCOL_BOUNDS;

@implementation NSObject(initializeConstantVariables)

+(void) initialize {
     if (self == [NSObject class])
     {
         NSString **str = (NSString **)&MYPROTOCOL_SIZE;
         *str = [[MyClass someStringLoadedFromAFile] stringByAppendingString:@"size"];
         str = (NSString **)&MYPROTOCOL_BOUNDS;
         *str = [[MyClass someStringLoadedFromAFile] stringByAppendingString:@"bounds"];
     }
}

@end

Мне было интересно: безопасно ли для меня иметь категорию который отменяет метод NSObject + initialize ?

5
задан Community 23 May 2017 в 12:08
поделиться