Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.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
Iphone 使用除Main之外的其他类中的LocationManager_Iphone_Objective C_Geolocation - Fatal编程技术网

Iphone 使用除Main之外的其他类中的LocationManager

Iphone 使用除Main之外的其他类中的LocationManager,iphone,objective-c,geolocation,Iphone,Objective C,Geolocation,我是新来的, 我是iphone开发新手, 我是Objective-c的新手 我是英语新手,所以不要恨我:P 我正在创建一个应用程序,它将使用位置管理器来显示自己的位置与商店列表(如AroundME)位置之间的距离 现在,我将locationManager属性赋予我的主类,在该类的.m中,正是在viewDidLoad方法中,我生成:[locationManager startUpdatingLocation] 这一切都很好,但问题是: 我需要知道我在其他课程中的位置,而不是主要课程,但我认为在每次

我是新来的, 我是iphone开发新手, 我是Objective-c的新手 我是英语新手,所以不要恨我:P

我正在创建一个应用程序,它将使用位置管理器来显示自己的位置与商店列表(如AroundME)位置之间的距离

现在,我将locationManager属性赋予我的主类,在该类的.m中,正是在viewDidLoad方法中,我生成:[locationManager startUpdatingLocation]

这一切都很好,但问题是: 我需要知道我在其他课程中的位置,而不是主要课程,但我认为在每次需要时制作[locationManager startUpdatingLocation]不是一个好主意,不是时间开销吗

我的主类的视图总是位于其他类的下方,因此我可以在其他类中检索更新的位置吗?以什么方式

我认为创建我的主类的另一个实例是没有用的,但是locationManager一旦启动,直到我的主类发布后才会停止,不是吗?所以我认为它在某种程度上是可以访问的


感谢您的关注,并为我糟糕的英语感到抱歉:)

在本例中,我假设您将主类设置为
CLLocationManagerDelegate
。更新位置时,您的学员将收到
locationManager:didUpdateToLocation:fromLocation:
消息,在该方法中,您可以使用
NSNotificationCenter
发布消息,其他类的实例可以将自己添加为观察者。有关添加观察员和发布通知的更多信息,请参阅for
NSNotificationCenter

要在除main之外的其他类中获取初始位置,您可能需要有一个对main类的引用,并使用
CLLocationManager
location
属性检索它,因为您的观察者只会在位置发生更改时收到通知