使用操作获取CLLocation数据

时间:2018-09-11 18:59:37

标签: swift cllocationmanager operation

link.href = 'data:image/x-icon;base64,AJHDFH....';

main在CLLocationManager有机会获得位置并将其传递给传入的处理程序之前完成执行。第一个尝试的解决方案是重写isExecuting属性,并在(_:didUpdateLocations)中调用handler(location)后手动将其设置为true,但这是一个只读属性。这个link提供了一种方法,但是我不确定该实现。 如何在将位置传递给处理程序之前停止操作的完成?。谢谢!

1 个答案:

答案 0 :(得分:0)

两个严重的问题:

  1. managermain()中本地声明,并在main()退出后被销毁。

    替换

    private var manager: CLLocationManager?
    

    使用

    private let manager = CLLocationManager()
    

    并删除局部变量

    let manager = CLLocationManager()

    main()

    。我甚至更喜欢lazy属性。

  2. 您必须使用here

  3. 中所述的异步Operation