gpt4 book ai didi

ios - 如何在 Swift 中使用 Firebase 属性保存 GeoFire?

转载 作者:行者123 更新时间:2023-11-28 08:46:18 25 4
gpt4 key购买 nike

我正在尝试保存一个包含名称字符串、地址字符串和位置坐标的对象。在文档中,似乎有一种方法可以保存 firebase 数据,另一种方法可以保存 GeoFire 数据。

火力基地:

  var alanisawesome = ["full_name": "Alan Turing", "date_of_birth": "June 23, 1912"]
var gracehop = ["full_name": "Grace Hopper", "date_of_birth": "December 9, 1906"]
var usersRef = ref.childByAppendingPath("users")
var users = ["alanisawesome": alanisawesome, "gracehop": gracehop]
usersRef.setValue(users)

地火:

  let geofireRef = Firebase(url: "https://<your-firebase>.firebaseio.com/")
let geoFire = GeoFire(firebaseRef: geofireRef)
geoFire.setLocation(CLLocation(latitude: 37.7853889, longitude: -122.4056973), forKey: "firebase-hq") { (error) in
if (error != nil) {
println("An error occured: \(error)")
} else {
println("Saved location successfully!")
}
}

是否可以在同一请求中同时保存位置和其他数据?我想在同一个请求中执行此操作,因为如果位置请求失败,我不希望用户能够创建没有位置数据的对象。还是有另一种聪明的方法来施加这种限制?

最佳答案

由于写入原始实体及其地理位置是两个单独的调用,因此它们将是两个单独的写入操作。其中一个写入由您的代码完成,另一个由 GeoFire 完成。两个调用都写入 JSON 树的不同部分。

Firebase 最近添加了 write to multiple locations with a single update() call 的功能.有了它,您可以在一次调用中同时编写地理位置和实体。如果你想这样做,你必须改变 GeoFire允许它。

关于ios - 如何在 Swift 中使用 Firebase 属性保存 GeoFire?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35253795/

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