题
我是比较新的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)
。
不隶属于 StackOverflow