基本上,我有以下代碼(在這裏解釋:Objective-C Constants in Protocol)Objective-C覆蓋[NSObject初始化]是否安全?
// 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
方法的類?
首先,您不需要創建一個類別讓運行時調用您的「初始化」,它會在發送任何消息之前自動執行。其次,「安全」是什麼意思?有沒有人閱讀文檔? – 2011-01-12 12:47:46
看看類別...它覆蓋了NSObject類,而不是我的類。我正在嘗試使用我正在製作的框架的任何程序的開始時都會調用我知道的方法。 – 2011-01-12 12:51:25