我是比较新的Objective-C和真的不很了解,所以我什么可能是一个非常业余的问题深表歉意。

我想从CLHeading和CLLocationDirection磁航向。但是我得到的编译错误此行的代码:

locationLabel.text = [[[location course] magneticHeading] stringValue];

的错误是:

warning: invalid receiver type 'CLLocationDirection'  
error: cannot convert to a pointer type

我真的不明白我在做什么错在这里。请帮助!

有帮助吗?

解决方案

下面是使用指南针所需的步骤。

1)检查可用性:如果位置管理器的headingAvailable属性为是,则可以使用罗盘

2)使用位置管理方法-(void) startUpdatingHeading开始接收要搜索的信息

3)实际使用委托方法检索此信息(不要忘记自己设置为代表)

 - (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading

希望这有助于。

其他提示

magneticHeading是CLLocationDirection类型,这是简单地对基本数据类型的“双”一个typedef的。在您的例子中,你正试图将消息发送到的东西是不是一个对象!您应该简单地格式化双像这样:

locationLabel.text = [NSString stringWithFormat:@"Heading %.3f", [[location course] magneticHeading]];

你是如何分配和初始化location?确保location被定义为(CLLocationDirection *)而不仅仅是一个(CLLocationDirection)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top