Наблюдение CLLocationCoordinate2D в iphone SDK - PullRequest
0 голосов
/ 28 августа 2009

В iPhone SDK мы можем наблюдать только объекты, а не распорки, как CLLocationCoordinate2D?

Пример: У меня есть очень простой код, где я хотел бы наблюдать свойство типа CLLocationCoordinate2D, я убедился, что синтезировал его в ABC.m.

@interface ABC
{
 CLLocationCoordinate2D currentLocation;
}
@property (nonatomic, readwrite) CLLocationCoordinate2D currentLocation;

Сейчас в другом классе я делаю:

[ABC addObserver:self forKeyPath:@"currentLocation" options:NSKeyValueObservingOptionNew context:NULL];

По какой-то причине метод наблюденийValueForKeyPath никогда не сообщает, что ключевой путь "currentLocation" изменился.

Спасибо

SJS

1 Ответ

0 голосов
/ 29 августа 2009

Это буквальный звонок, который вы делаете?

[ABC addObserver:self forKeyPath:@"currentLocation" options:NSKeyValueObservingOptionNew context:NULL];

Если так, то я думаю, что проблема в том, что вы соблюдаете класс ABC, а не экземпляр класса ABC. Предполагая, что у вас есть экземпляр класса ABC, попробуйте это заметить.

ABC* myObject = [ [ [ ABC alloc ] init ] autorelease ];
[ myObject addObserver: self forKeyPath: @"currentLocation" options: NSKeyValueObservingOptionNew context: NULL ];
...