Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 显示当前距离_Objective C_Cllocationmanager - Fatal编程技术网

Objective c 显示当前距离

Objective c 显示当前距离,objective-c,cllocationmanager,Objective C,Cllocationmanager,我正在尝试获取自LocationManager启动以来已行驶的当前距离。但我面临一些问题 以下是我目前掌握的代码: -(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { if (self.startLocation == nil) { tota

我正在尝试获取自LocationManager启动以来已行驶的当前距离。但我面临一些问题

以下是我目前掌握的代码:

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
    if (self.startLocation == nil)
    {
        totalDistanceBetween = 0;
        _startLocation = newLocation;
    }
    CLLocationDistance distanceBetween = [newLocation distanceFromLocation:_startLocation ];
    self.startLocation = newLocation;
    totalDistanceBetween += distanceBetween;
    NSString *cycleDistanceString = [[NSString alloc]
                            initWithFormat:@"%f",
                            totalDistanceBetween];
    _CurrentDistance.text = cycleDistanceString;
}


@end
当我运行我的应用程序时,我的标签CurrentDistance根本没有更新。我对objective-c还比较陌生,所以不确定我会错在哪里,有什么想法吗


谢谢

您应该添加日志或调试,以确保收到位置回调。如果没有,则表示您尚未注册更新(正确)


如果您收到回调,那么我猜
\u CurrentDistance
是一个未连接标签的出口(因此您要求
nil
做一些事情,但什么也没有发生)。

我在这个方法的末尾放了一个日志,以打印出数组cycleInstanceString和newLocation,而不从这两者中获取任何内容。所以看起来好像没有调用该方法,但不知道为什么!在我看来还可以,但我对Objective-c还是相当陌生–您如何以及在哪里注册位置更新?
-(void)startCycleLocation{if(!\u cycleLocation){u cycleLocation=[[CLLocationManager alloc]init]cycleLocation.desiredAccuracy=KCallocationAccuracyBestforNavigation;cycleLocation.distanceFilter=5;cycleLocation.delegate=self;startLocation=nil;}[cycleLocation startUpdatingLocation];
是我调用它们的地方,在didViewLoad上调用。你确定调用了吗?是的,我想是的,你想看看.m文件吗?只是一个旁注:根据Objective-C命名约定,方法和实例变量名,例如,
\u CurrentDistance
,通常应该以小写字母开头,所以
\u currentD距离
会更好。