Как addObserver: forKeyPath: работает со статическим классом? - PullRequest
0 голосов
/ 31 января 2012

Я пытаюсь создать статический класс, называемый Logger, который будет загружать файлы журналов в какой-то момент, когда вызывается как [Logger uploadLogFiles].

Я пытаюсь добавить наблюдателя в этот статический класс следующим образом:

[Logger addObserver:self forKeyPath:@"uploadComplete" options:NSKeyValueObservingOptionNew context:nil];

Я делаю это непосредственно перед запуском метода асинхронного вызова для NSURLConnection. Я получаю предупреждение: Несовместимые типы указателей, отправляющие Class параметру типа NSObject *.

Однако, похоже, это не работает, так как метод observerValueForKeyPath: никогда не вызывается.

Кто-нибудь имел опыт добавления наблюдателей к статическим переменным в статических классах?

Спасибо!

1 Ответ

2 голосов
/ 31 января 2012

В классе нет переменных экземпляра, поэтому наблюдать нечего.

Для KVO необходим фактический объект (экземпляр класса).

...