【发布时间】:2016-09-14 00:25:57
【问题描述】:
我有两个字符串数组:一个保存订单号,一个保存地址。
我在 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()
})
}
该函数使用从 Firebase 提取的数据填充 UITableView。
当我第一次运行应用程序时,一切都很好。我可以通过不同的函数向 Firebase 添加数据,上面的函数会将新数据拉入 UITableView 就好了。
但是,当我转到另一个视图控制器(在本例中为另一个 UITableView),然后返回到包含上述函数的视图时,该函数会填充订单号和地址数组两次 当我添加新数据。
如果我第二次切换到另一个 UITableView,然后返回到包含上述函数的视图,该函数会在我添加新数据时将订单号和地址数组填充 3 次。等等等等。
这是最奇怪的事情。我想不通,它即将把我逼到边缘。请帮忙。
【问题讨论】:
-
@JohnV 听起来不错。谢谢!
标签: ios arrays swift uitableview firebase