Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.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
Ios 从另一个控制器访问在应用程序委托中创建的视图控制器_Ios_Uiviewcontroller - Fatal编程技术网

Ios 从另一个控制器访问在应用程序委托中创建的视图控制器

Ios 从另一个控制器访问在应用程序委托中创建的视图控制器,ios,uiviewcontroller,Ios,Uiviewcontroller,我正在从我的应用程序代理加载我的GPS控制器,该控制器正在查找用户的当前位置,但我的问题是从另一个视图控制器访问GPS视图。我该怎么做呢?您必须查看corelocationAPI 1) 位置更新是异步接收的,因此您需要根据更新的时间戳立即响应它们 2) 始终检查时间戳并将其与当前时间戳进行比较,以便检查它是否是最新的 3) 一旦收到更新,请立即停止服务,因为wifi GPS等会很快耗尽电池。不过,我不清楚您想要实现什么。无论如何,您可以使用CLLocationManager从CoreLocat

我正在从我的应用程序代理加载我的GPS控制器,该控制器正在查找用户的当前位置,但我的问题是从另一个视图控制器访问GPS视图。我该怎么做呢?

您必须查看
corelocation
API

1) 位置更新是异步接收的,因此您需要根据更新的时间戳立即响应它们

2) 始终检查时间戳并将其与当前时间戳进行比较,以便检查它是否是最新的


3) 一旦收到更新,请立即停止服务,因为wifi GPS等会很快耗尽电池。

不过,我不清楚您想要实现什么。无论如何,您可以使用
CLLocationManager
CoreLocation
框架获取GPS位置

appdelegate.h

CLLocationManager *locationManager;
在appdelegate.m中使用

locationManager = [[CLLocationManager alloc] init];
  locationManager.delegate = self;
  locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move
  locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m
  [locationManager startUpdatingLocation];
您还需要实现以下委托方法

- (void)locationManager:(CLLocationManager *)manager
    didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation

有关更多详细说明,请参阅教程

@MattBall,我创建了一个类,用于检索用户当前位置,效果很好。但是现在我想从我的appdelegate加载这个类,因为当应用程序启动时,这个gps类将获得用户位置,并显示整个应用程序的每个步骤。现在你清楚了吗???你在问题的第一部分中问到,你想从appdelegate加载gps控制器。但是在下半部分您提到的问题是,您已经从app delegate加载了GPS控制器。您到底想要实现什么?