更新控制器中的位置,而位置管理器在其他控制器中初始化

Posted

技术标签:

【中文标题】更新控制器中的位置,而位置管理器在其他控制器中初始化【英文标题】:updating location in a controller while location manager initialized in other controller 【发布时间】:2009-10-22 11:14:10 【问题描述】:

我有一个导航堆栈。 在 rootView 中,我初始化了位置管理器,并设置了适当的委托方法。 然后我推送一个通过当前检索到的位置的视图。 一切正常

另一方面,如果我在位置仍在加载时推送视图,则不会自动发送最终更好坐标的位置,并且需要弹出和重新推送推送的视图。如何在不再次弹出推送的情况下检索上传的坐标?

【问题讨论】:

【参考方案1】:

您可以在每个需要更新的控制器中添加-updateWithLocation: 之类的方法,然后在您的位置管理器委托中调用它(对于当前位于顶部的控制器)。 如果您使用 UINavigationController,您可以使用其 topViewController 属性轻松访问您的***控制器。

【讨论】:

也许我还可以问:从一方面来说,我必须在每个控制器中添加一个 -updateWithLocation :如果我没有检查 topViewController 是否是有效需要更新的控制器。有没有比 if 检查更简单的方法?从另一个(我为我的无知道歉)我收到一个警告,因为 xcode 不知道 topViewController 是否真正实现了该方法(不是问题,但我不喜欢警告) 我确实通过以下方式检查: if ([topController respondsToSelector:@selector(updateWithLocation:)]) [topController performSelector:@selector(updateWithLocation:) withObject:newLocation]; performSelector 调用不会生成编译器警告 再次感谢!!我使用 isKindOfClass 来检查控制器,但这要好得多。我是这个行业的新手,但我仍然不习惯以正确的方式思考。谢谢!

以上是关于更新控制器中的位置,而位置管理器在其他控制器中初始化的主要内容,如果未能解决你的问题,请参考以下文章

如何在应用程序中停止位置跟踪?

XCode:无缝保持位置更新

位置管理器在iPhone中找到当前位置后会重复查找当前位置吗?

今天学习的裸板驱动之存储控制器心得(初始化SDRAM)

入门webhook和控制器管理器在k8s中的优先级是什么?

popupWindow 用法总结 控制位置