2009-08-28 3 views
0

Dans l'iPhone SDK, pouvons-nous seulement observer des objets, et non des entretoises comme CLLocationCoordinate2D?L'observation de CLLocationCoordinate2D dans l'iphone SDK

Exemple: J'ai un code très simple où j'aimerais observer une propriété de type CLLocationCoordinate2D, je me suis assuré de la synthétiser dans ABC.m.

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

maintenant dans une autre classe que je fais:

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

Pour une raison quelconque, la méthode observeValueForKeyPath ne retourne jamais que keypath "currentLocation" a changé.

Merci,

SJS

Répondre

0

Est-ce l'appel littéral que vous faites?

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

Si tel est le cas, je pense que le problème est que vous observez la classe ABC et non une instance de la classe ABC. En supposant que vous avez une instance de classe ABC essayez d'observer cela.

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