我正在尝试使用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”。
任何人都可以提供帮助,我只是尝试用其他可能的方式来获得罗盘值。
答案 0 :(得分:3)
magneticHeading和trueHeading都是CLLocationDirection类型,实际上是一个double。如果你想要NSLog()一个double,你必须使用“%f”或“%。9f”,而不是“%@”,这是对象。