iOS-正确的“操作”方式;“听”;对于类中的委托方法

iOS-正确的“操作”方式;“听”;对于类中的委托方法,ios,delegates,core-location,appdelegate,Ios,Delegates,Core Location,Appdelegate,我刚刚在我的AppDelegate中实现了CLLocationManager,它当前正在更新位置时打印位置 我现在要做的是,每当某个视图控制器中的某个位置被更新时,就会触发该控制器中的一个方法 在使用协议之前,我也做过类似的事情,但我不确定在AppDelegate中是否可以这样做 我在Swift中工作,但是Objective-C响应也会很有帮助,因为我正在寻找如何实现这一点的逻辑。您可以从应用程序代理()向NSNotificationCenter发布通知,并在控制器中订阅(不要忘了取消订阅dea

我刚刚在我的
AppDelegate
中实现了
CLLocationManager
,它当前正在更新位置时打印位置

我现在要做的是,每当某个视图控制器中的某个位置被更新时,就会触发该控制器中的一个方法

在使用
协议
之前,我也做过类似的事情,但我不确定在
AppDelegate
中是否可以这样做


我在Swift中工作,但是Objective-C响应也会很有帮助,因为我正在寻找如何实现这一点的逻辑。

您可以从应用程序代理()向NSNotificationCenter发布通知,并在控制器中订阅(不要忘了取消订阅
dealloc
)。只要确保应用程序在后台时不更新任何GUI(您可以直接在控制器中检查状态)。

您可以使用通知(google NSNotificationCenter)。您可以在视图控制器中接收位置更改,并将信息传递给
AppDelegate
,因为
AppDelegate
可以从
CLLocationManager
实现的每个类别访问?你的意思是
CLLocationManagerDelegate
?或者您只是实例化了
CLLocationManager
并将引用存储在“
AppDelegate
?@user996142,对不起,我现在还在学习。我的意思是,使用
CLLocationManager
及其委托,我在
AppDelegate
中的
didnishlaunchingwithoptions
中拥有应用程序日志记录位置。我认为这是最好的方法(而不是在视图控制器中),因为获取位置可能需要几秒钟,而我的应用程序依赖于它。话虽如此,我认为在相关的视图控制器中完成这一切可能会更容易,正如@vadian所说的