Я нашел некоторый пример кода отсюда.
static UIImage *backgroundImageDepressed;
/**
*
*/
@implementation DecimalPointButton
+ (void) initialize {
backgroundImageDepressed = [[UIImage imageNamed:@"decimalKeyDownBackground.png"] retain];
}
Это - что-то вроде этого - +(void) initialize
метод инициализирует статические переменные класса (интерфейс) в Objective C? Я никогда не видел это прежде.
Этот метод + инициализация
описан в Язык программирования Objective-C .
Среда выполнения отправляет сообщение
инициализировать
каждому объекту класса до того, как класс получит любые другие сообщения , и после того, как его суперкласс получит сообщениеинициализировать
. Это дает классу возможность настроить среду выполнения перед использованием. Если инициализация не требуется, вам не нужно писать методinitialize
для ответа на сообщение.
Например, когда вызывается [DecimalPointButton alloc]
, среда выполнения проверяет, был ли вызван [DecimalPointButton initialize]
. В противном случае он + инициализирует
класс. Это гарантирует, что изображение backgroundImageDepressed
будет готово до создания любых экземпляров DecimalPointButton.