Ios 如何从其他类设置CLLocationManager的属性

Ios 如何从其他类设置CLLocationManager的属性,ios,objective-c,Ios,Objective C,我现在正在做一个体育项目。 我想做的是,当用户选择打开自动暂停开关时,当速度低于某个水平时,CLLocationManager将暂停更新位置。 基本上,我已经知道如何通过更改其属性来实现locationManager,但我的问题是,如何从settingViewController设置CLLocationManager的属性,而CLLocationManager实例位于另一个ViewController中。提前感谢。idk您对CLLocationManager有什么问题,您是指将对象传递给其他视图

我现在正在做一个体育项目。 我想做的是,当用户选择打开自动暂停开关时,当速度低于某个水平时,CLLocationManager将暂停更新位置。
基本上,我已经知道如何通过更改其属性来实现locationManager,但我的问题是,如何从settingViewController设置CLLocationManager的属性,而CLLocationManager实例位于另一个ViewController中。提前感谢。

idk您对CLLocationManager有什么问题,您是指将对象传递给其他视图控制器的方式吗?有几种方法可以做到这一点。 我很确定,通过设置CLLocationManager的属性,您可以将CLLocationManager对象传递给settingViewController,因为传递对象意味着将引用传递给对象,您可以在settingViewController生命周期中更改对象,它会影响由ViewController创建的CLLocationManager对象。

您可以使用NSNotificationCenter发送通知,以在另一个视图控制器中启用/禁用CLLocationManager的自动暂停属性

其他方法可以是:

使用类方法,在这篇文章中解释得很好

使用代理


将CLLocationManager放入单例?@Larme我已将其放入单例中,但我无法找到从另一个视图控制器更改其属性的方法添加方法-voidUpdateLocationManager目标属性设置:idsetting,然后执行[[YourSingleToClass sharedManager]UpdateLocationManager目标属性设置:某事]?我的问题是,如何从视图控制器B禁用/启用CLLocationManager的autopause属性,因为CLLocationManager的实例是在视图控制器A中初始化的。如果使用故事板进行转换,通过设置属性将对象传递给另一个视图控制器将很容易,通过segue传递对象。请参阅链接plz上的文章。干杯,我认为该方法包括传递对象和通知,您认为哪一种更好。