如何从CLHeading中检索磁性值

时间:2010-01-18 02:42:10

标签: iphone cllocationmanager

我正在尝试使用CLHeading获取罗盘值,

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading {
 if (curHeading != nil)
  [curHeading release];

 curHeading = newHeading;
 NSLog(@"%@",curHeading);
 [curHeading retain];
}

以上结果为 -

  

magneticHeading 89.00 trueHeading +103.27准确度5.00 x +1.375 y   +41.875 z +37.438 @ 2010-01-18 10:18:37 +0800

但我只需要magneticHeading值,所以

我将代码更改为:

a)

  

newHeading.magneticHeading - >结果为null

b)

  

newHeading.trueHeading - >节目收到的信号:   “EXC_BAD_ACCESS”。

任何人都可以提供帮助,我只是尝试用其他可能的方式来获得罗盘值。

1 个答案:

答案 0 :(得分:3)

magneticHeading和trueHeading都是CLLocationDirection类型,实际上是一个double。如果你想要NSLog()一个double,你必须使用“%f”或“%。9f”,而不是“%@”,这是对象。