Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从firebase检索数据数组_Python_Ios_Swift_Firebase_Firebase Realtime Database - Fatal编程技术网

Python 如何从firebase检索数据数组

Python 如何从firebase检索数据数组,python,ios,swift,firebase,firebase-realtime-database,Python,Ios,Swift,Firebase,Firebase Realtime Database,您好,我已经尝试了几种方法,但基本上,我在firebase数据库中有一组数据,我使用Python上传了这些数据。在Python中,我将所有内容添加到数组中,并将其上载到数据库。在Swift中,我试图检索这样的数据 import UIKit import Foundation import Firebase class CSGOView: UIViewController, UITableViewDelegate, UITableViewDataSource{ var teams:

您好,我已经尝试了几种方法,但基本上,我在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:“团队名称” 1:“第二小组”

所以这里有一个加号,它会向下显示一个字典,其中0是键,“teamname”是值。如果有帮助的话,我在键和值之前没有随机id。我在python中使用了set方法而不是push方法。set方法上载不带id的数据

结果证明,在我有10个代表之前,我无论如何都不能上传图像


通过上面的链接,您可以了解firebase数据库在JavaScript中的外观,您可以直接引用firebaseArray,并从firebase获取数组值

  var TeamRef = ref.child('Teams');
  var TeamInfo = $firebaseArray(TeamRef);

对Swift/Python没有把握

在JavaScript中,您可以直接引用firebaseArray,并从firebase中获取数组值

  var TeamRef = ref.child('Teams');
  var TeamInfo = $firebaseArray(TeamRef);
对Swift/Python没有把握

希望这能对你有所帮助

let value = snapshot.value as? [String: String] ?? [:]

for team of value {
   print(team.key)
   print(team.value)
}
希望这能对你有所帮助

let value = snapshot.value as? [String: String] ?? [:]

for team of value {
   print(team.key)
   print(team.value)
}

根据您在上述职位上提供的信息;这是我能说的最好的-

安全规则

代码


根据您在上述职位上提供的信息;这是我能说的最好的-

安全规则

代码



我想你是用javascript写的,虽然我不确定我可能错了。你知道swift的等价物吗,如果是swift,那么我道歉。对不起,这是javascript。哦,谢谢你的帮助,如果我用cordova或其他什么东西制作这个应用程序,我可能会使用它,但是我需要swift的等价物,我认为它非常不同。我想你是用javascript写的,但我不确定我可能错了。你知道swift等价物吗,如果是swift,那么我道歉。对不起,这是javascript。哦,好吧,谢谢你的帮助,如果我用cordova或其他东西制作这个应用程序,我可能会使用它,但我需要swift等价物,我认为它有很大不同。如果我们看不到数据库结构,我真的帮不了你,使用viewDidLoad函数编辑您的问题。我更新了代码以显示整个课程,我还将数据库图片添加到了该网站底部@Dravidian你必须确保你的安全规则允许检索数据如果这可能是问题所在,我是否必须提供一个用户?或者我可以看一个如何设置的示例。在另一个类中,我有一个simalar方法,它从用户那里获取用户名。事情是这样的。ref.child(“用户”).child(用户ID)。我认为userID是允许我访问数据的东西。但由于我现在提取的数据没有用户ID,如图所示,它是数据库中的一个子项。我无法编辑我的帖子。如果我们看不到数据库结构,我将你的@here@dravidiant放在这里真的很有帮助,使用viewDidLoad函数编辑您的问题。我更新了代码以显示整个课程,我还将数据库图片添加到了该网站底部@Dravidian你必须确保你的安全规则允许检索数据如果这可能是问题所在,我是否必须提供一个用户?或者我可以看一个如何设置的示例。在另一个类中,我有一个simalar方法,它从用户那里获取用户名。事情是这样的。ref.child(“用户”).child(用户ID)。我认为userID是允许我访问数据的东西。但是,由于我现在提取的数据没有用户ID,如图所示,它是数据库中的一个子项。我无法编辑我的帖子,我将你的@here@dravidiant放在这里,这样更好,但它仍然没有向控制台打印任何内容,没有错误。因此,在进一步研究之后,我发现如果我在代码将执行的for块之后或之前打印('hello'),for循环甚至不会执行,但是for循环中的任何内容都不会执行,至少我不认为@Luan TranHi,你能在firebase中检查你的“规则”吗?这更好,但它仍然只是不向控制台打印任何内容,没有错误。因此,在进一步研究之后,我发现如果我在代码将执行的for块之后或之前打印('hello'),for循环甚至不会执行,但是for循环中的任何内容都不会执行,至少我不认为@Luan TranHi,你能在firebase中检查你的“规则”吗?