小编tst*_*eve的帖子

在单个应用中使用多个Firebase数据库 - Swift

我有一个firebase数据库,目前通过GoogleService-Info.plist等连接到我的应用程序.它运行良好.

我想将我的应用程序连接到第二个firebase数据库.

它看起来像这个问题解决了针对Android 在这里.

知道如何在Xcode中使用Swift添加第二个firebase数据库吗?

编辑:我尝试了几种方法,包括使用FIROptions设置数据库的实例.我似乎无法正确构造代码.任何帮助表示赞赏!

ios firebase swift firebase-realtime-database

10
推荐指数
1
解决办法
2349
查看次数

从用户位置查找数组中最接近的经度和纬度 - iOS Swift

这里发布的问题中,用户问:

我有一个充满经度和纬度的阵列.我的用户位置有两个双变量.我想测试用户位置与阵列之间的距离,以查看最接近的位置.我该怎么做呢?

这将获得2个位置之间的距离,但是要了解我如何针对一系列位置进行测试.

作为回应,他得到了以下代码:

NSArray *locations = //your array of CLLocation objects
CLLocation *currentLocation = //current device Location

CLLocation *closestLocation;
CLLocationDistance smallestDistance = DBL_MAX; // set the max value

for (CLLocation *location in locations) {
    CLLocationDistance distance = [currentLocation  distanceFromLocation:location];

    if (distance < smallestDistance) {
        smallestDistance = distance;
        closestLocation = location;
    }
}
NSLog(@"smallestDistance = %f", smallestDistance);
Run Code Online (Sandbox Code Playgroud)

我在我正在处理的应用程序中遇到完全相同的问题,我认为这段代码可以完美地运行.但是,我正在使用Swift,此代码在Objective-C中.

我唯一的问题是:它应该如何看待Swift?

谢谢你的帮助.我是所有这一切的新手,看到Swift中的这段代码可能是一个很大的问题.

google-maps cllocationmanager ios cllocationdistance swift

8
推荐指数
2
解决办法
9175
查看次数

Firebase填充阵列两次 - 斯威夫特

我有两个String数组:一个包含订单号,另一个包含地址.

我使用包含以下内容的函数从viewDidAppear中的Firebase中提取数据:

    self.localOrderNumberArray.removeAll()
    self.localAddressArray.removeAll()

    self.orderNumbers.removeAll()
    self.addresses.removeAll()

    self.tableView.reloadData()

    if onItsWayCompanyNameStoreNumberCourierNumberRootRef != nil {

        let deliveryRef = onItsWayCompanyNameStoreNumberCourierNumberRootRef.childByAppendingPath("deliveries")

        deliveryRef.observeEventType(.ChildAdded, withBlock: { snapshot in

            self.orderNumbers.removeAll()
            self.addresses.removeAll()

            print(snapshot.value.objectForKey("orderNumber"))
            let orderNumberPulledFromFirebase = snapshot.value.objectForKey("orderNumber") as! String
            self.localOrderNumberArray.insert(orderNumberPulledFromFirebase, atIndex: 0)

            let addressPulledFromFirebase = snapshot.value.objectForKey("address") as! String
            self.localAddressArray.insert(addressPulledFromFirebase, atIndex: 0)

            self.orderNumbers = self.localOrderNumberArray
            self.addresses = self.localAddressArray

            self.tableView.reloadData()

        })
    }
Run Code Online (Sandbox Code Playgroud)

该函数使用从Firebase提取的数据填充UITableView.

当我第一次运行应用程序时,一切都很好.我可以通过不同的函数将数据添加到Firebase,上面的函数会将新数据拉入UITableView.

但是,当我转到另一个视图控制器(在这种情况下是另一个UITableView),然后返回到保存上述函数的视图时,该函数在添加新数据时填充订单号和地址数组两次.

如果我第二次转到另一个UITableView,然后回到上面保存上述函数的视图,当我添加新数据时,该函数会填充订单号和地址数组三次.等等等等.

这是最奇怪的事情.我无法理解,而且它会让我超越边缘.请帮忙.

arrays uitableview ios firebase swift

4
推荐指数
1
解决办法
605
查看次数