作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 getDistanceFrom 和 distanceFromLocation 方面遇到问题。 getDistanceFrom 在 iOS 4.1 中已弃用,并且 distanceFromLocation 在 3.1.3 中不可用,如何解决此问题。
其他人也遇到过这个问题吗?
我现在的代码是:
CLLocationDistance kilometers;
if ([currentLocation respondsToSelector: @selector(distanceFromLocation:)])
{
kilometers = [currentLocation distanceFromLocation:previousLocation] / 1000;
}
else
{
//kilometers = [currentLocation getDistanceFrom:previousLocation] / 1000;
kilometers = [currentLocation performSelector: @selector(getDistanceFrom:) withObject: previousLocation] / 1000;
}
根据我使用哪个 iOS 进行编译,我得到了“无效的二进制操作数”:
kilometers = [currentLocation distanceFromLocation:previousLocation] / 1000;
kilometers = [currentLocation performSelector: @selector(getDistanceFrom:) withObject: previousLocation] / 1000;
问候,斯蒂芬
最佳答案
有一个blog post Cédric Luthi 对此有一个很好的解决方案。
简而言之,您需要在 main.m 中输入以下内容并确保 #import <objc/runtime.h>
:
Method getDistanceFrom = class_getInstanceMethod([CLLocation class], @selector(getDistanceFrom:));
class_addMethod([CLLocation class], @selector(distanceFromLocation:), method_getImplementation(getDistanceFrom), method_getTypeEncoding(getDistanceFrom));
然后您可以使用 distanceFromLocation:
在任何操作系统上。
关于iphone - getDistanceFrom 与 distanceFromLocation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3804244/
我在 getDistanceFrom 和 distanceFromLocation 方面遇到问题。 getDistanceFrom 在 iOS 4.1 中已弃用,并且 distanceFromLoca
我是一名优秀的程序员,十分优秀!