【问题标题】:GeoFire observeBlock are only called once in Swift projectGeoFire observeBlock 在 Swift 项目中只被调用一次
【发布时间】:2018-09-22 19:02:20
【问题描述】:

这是我的 GeoFire 观测的简化代码: 问题是在初始观察时只调用了一次 observeReady,但是当输入新键时,观察函数工作正常,但没有调用完成块。

func startObserveNearbyPosts(location: CLLocation) {
        let geoFireQuery = geoFire?.query(at: location, withRadius: 100)

        geoFireQuery?.observe(.keyEntered, with: { (key, _) in
            print("Key entered")
        })

        geoFireQuery?.observeReady {
            print("Observe ready")
        }
    }

【问题讨论】:

    标签: ios swift firebase geofire


    【解决方案1】:

    来自Geofire documentation

    有时您想知道所有初始键的数据何时已从服务器加载以及这些键的相应事件已被触发。

    所以看起来observeReadyWithBlock 仅在.keyEnteredinitial 集被触发后才被调用,而不是用于后续更新(除非您更改查询)。当然,.keyEntered 应该为进入查询范围的每个键调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-26
      • 2021-01-04
      • 2019-08-23
      • 2017-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多