您好我在几个方面尝试了这一点,但基本上,我在firebase数据库中使用Python上传了一系列数据。在Python中,我将所有内容添加到数组中并将其上传到数据库。在Swift中,我试图检索这样的数据
import UIKit
import Foundation
import Firebase
class CSGOView: UIViewController, UITableViewDelegate, UITableViewDataSource{
var teams: [String] = []
var times: [String] = []
@IBOutlet weak var tableViewTwo: UITableView!
let ref = FIRDatabase.database().reference(fromURL: "Took the url out it is the right url to the database im sure")
override func viewDidLoad() {
super.viewDidLoad()
getTeamsAndTimes()
}
func getTeamsAndTimes() {
//let userID = FIRAuth.auth()?.currentUser?.uid
ref.child("Teams").observeSingleEvent(of: .value, with: { (snapshot) in
// Get user value
let value = snapshot.value as? [String: String] ?? [:]
for team in value {
print(team.key)
print(team.value)
}
// ...
}) { (error) in
print(error.localizedDescription)
}
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 3
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: UITableViewCell? = nil
return cell!
}
}
虽然视图加载时没有任何内容打印到控制台,但这不起作用。我在ViewDidLoad()中运行了该方法。
这里是firebase数据库中数据的样子(我必须去,所以我会在我回来时上传它)大致就像
队 0:“teamname” 1:“teamtwo”
所以有团队然后是一个加号,然后它下降显示一个字典,其中0为关键字,“teamname”为值。如果有帮助,我在键和值之前没有随机id。我在python中使用了set方法而不是push方法。 set方法上传没有id的数据。
结果我无法上传图像,直到我有10个代表。
上面的链接将带您了解firebase数据库的外观
答案 0 :(得分:0)
在JavaScript中,您可以直接提供对firebaseArray的引用,并从firebase获取值作为数组。
CardLayout
不确定Swift / Python。
答案 1 :(得分:0)
希望这可以帮到你
let value = snapshot.value as? [String: String] ?? [:]
for team of value {
print(team.key)
print(team.value)
}
答案 2 :(得分:0)
根据您在上述帖子中提供的信息;这是我能说的最好的 -
安全规则
{
"rules": {
".write" : "auth != null",
".read" : "auth != null",
"Teams" :{
".read" : "true", // Make it publicly accessible
".write" : "true",
}
}
}
<强> 代码 强>
var dict = NSMutableDictionary() // Global Declaration
FIRDatabase.database().reference().child("shows").observeSingleEvent(of: .value, with: {(Snapshot) in
for each in Snapshot.children{
self.dict.setObject((each as! FIRDataSnapshot).value as! String, forKey: String((each as! FIRDataSnapshot).key) as! NSCopying)
print(self.dict)
}
})