gpt4 book ai didi

iphone - xcode 地理位置 : Getting coordinates before view is loaded

转载 作者:行者123 更新时间:2023-11-29 13:24:35 25 4
gpt4 key购买 nike

我正在尝试获取手机的当前位置,然后将坐标发送到我的网络服务器以处理数据,以便将一些结果返回到我的应用中。

我现在面临的问题是 View 先加载,然后才获取坐标。

我如何首先获取坐标,以便我可以将它们发送到我的网络服务器进行处理并发回数据,以便我可以显示在我的 View 中?

谢谢!

最佳答案

如果您的 View Controller 在呈现之前确实需要位置信息,它可以让呈现 View Controller 在转换之前执行位置服务。如果没有呈现 View Controller (即需要位置的 View Controller 当前是 Root View Controller ),您可以引入一个新的 Root View Controller ,它将在转换到主视图 Controller 之前执行位置服务。

这个呈现 View Controller 应该(根据位置感知编程指南)应该创建 CLLocationManager,启动位置服务,并在收到 的适当的 didUpdateLocations 后CLLocationManagerDelegate,然后它可以停止位置服务并转换到主视图 Controller 。也许这个中间 View Controller 还应该在执行位置服务时显示一些漂亮的“请稍候”屏幕或带有 UIActivityIndi​​catorViewdefault.png 图像的副本。

但实际上,您不一定需要引入这个中间 View Controller 。你可以用你的主视图 Controller 来完成这一切。您可以使用异步事件驱动的编码模式。因此,您可以将 Web 服务的性能推迟到位置服务得到满足之后,而不是在呈现 View 之前要求位置。例如,this simple test project调用位置服务,并在完成后向天气服务提交 Web 请求,并解析 JSON 响应。不需要中间 View Controller 。

但请注意,Apple 不赞成(即可能会拒绝)只有在定位服务成功时才能运行的应用程序,因此您可能需要考虑如果您的应用程序根本无法使用定位服务,它应该做什么.您必须优雅地处理这种情况,也许使用最后已知的位置。

关于iphone - xcode 地理位置 : Getting coordinates before view is loaded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13466299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com