gpt4 book ai didi

iphone - getDistanceFrom 与 distanceFromLocation

转载 作者:行者123 更新时间:2023-12-03 18:33:59 24 4
gpt4 key购买 nike

我在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com