在iphone SDK中观察CLLocationCoordinate2D

时间:2009-08-28 03:51:48

标签: iphone sdk mapkit addobserver

在iPhone SDK中,我们是否只能观察对象,而不是像CLLocationCoordinate2D那样的支柱?

实施例: 我有一些非常简单的代码,我想观察CLLocationCoordinate2D类型的属性,我确保在ABC.m中合成它。

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

现在我在另一个班上:

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

出于某种原因,observeValueForKeyPath方法从不报告密钥路径“currentLocation”已更改。

谢谢,

SJS

1 个答案:

答案 0 :(得分:0)

这是您的字面调用吗?

[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 ];