Ios 从appdelegate引用已实例化的viewcontroller

Ios 从appdelegate引用已实例化的viewcontroller,ios,Ios,我正在尝试关闭ApplicationIdentinterBackground中的位置服务,并向我的站点发送消息。。。方法在我的故事板的另一个vc中。我在以下方面尝试过这种技术: 但我的理解是,这会创建相应VC的新实例,而不是对当前实例的引用,我通过在AppDelegate中记录原始控制器的地址和引用来确认这一点。它们是不同的,因此该方法不会停止我的位置服务。我对vc实例的理解正确吗 我看到了Regions示例代码()中使用的技术,简而言之: @class RegionsViewControlle

我正在尝试关闭ApplicationIdentinterBackground中的位置服务,并向我的站点发送消息。。。方法在我的故事板的另一个vc中。我在以下方面尝试过这种技术: 但我的理解是,这会创建相应VC的新实例,而不是对当前实例的引用,我通过在AppDelegate中记录原始控制器的地址和引用来确认这一点。它们是不同的,因此该方法不会停止我的位置服务。我对vc实例的理解正确吗

我看到了Regions示例代码()中使用的技术,简而言之:

@class RegionsViewController;
@property (nonatomic, retain) IBOutlet RegionsViewController *viewController;
...
@synthesize viewController;
self.window.rootViewController = self.viewController;
[viewController.locationManager stopUpdatingLocation];
但是它使用NIB,所以我不知道如何转换代码。它似乎依赖于最初从appdelegate实例化位置VC,因此只有一个实例出现在appdelegate中,而我的故事板应用程序(如果我理解的话)会隐式地自己实例化位置VC。使用Regions代码,记录AppDelegate和RegionsViewController中各自的地址,如预期的那样显示匹配的值,从而停止location services实例。那么,有人能告诉我故事板相当于区域技术吗

谢谢

以下各项工作正常(在appdelegate中)。至少我在AppDelegate中看到了最终控制器引用记录的相同地址,并且在引用的vc中直接检索时。。。当进入后台时,位置服务箭头消失(在随机延迟之后,这似乎是预期的行为)

我的vc结构是(根)选项卡>导航控制器>附近(我的位置控制器)


谢谢rdelmar,我想你给了我足够的钱让我继续保持这条轨道。

self.window.rootViewController应该给你一个当前根视图控制器的参考,不管该控制器是来自xib还是故事板。那么,你发布的代码不起作用吗?我发布的代码正好在区域示例代码之外,不,我无法让它在我的应用程序中起作用。我没有包括分配rootviewcontroller的行,因为我没有尝试更改我的rvc,它是一个tabbarcontroller。也许你是说我得到根,然后得到它的组件。我会努力的。谢谢
UITabBarController *tabBarController =(UITabBarController *)self.window.rootViewController;

UINavigationController *navigationController = [tabBarController viewControllers][0];

Nearby *nearbyInstance = (Nearby *)[navigationController topViewController];
[nearbyInstance stopAllLocUpdateModes];