如何在两个“地方”中获取Firebase数据?

时间:2019-02-15 04:06:12

标签: swift firebase

我了解了如何在表格视图中将数据从Firebase获取到我的应用程序。我的问题是,如何在“两个地方”获得它?那有可能吗?

例如,假设您要从Firebase接收用户“电子邮件”,然后将其放在个人资料页面和主页中。这可能吗?

如果是这样怎么办?我尝试复制相同的代码,但是只是将其从一个位置删除,然后将其添加到新的位置?

 import UIKit
 import FirebaseDatabase
 class ViewController: UIViewController, UITableViewDelegate, 
 UITableViewDataSource{


@IBOutlet weak var myTextField: UITextField!
@IBOutlet weak var myTableView: UITableView!

@IBOutlet weak var myTableView2: UITableView!
var myList:[String] = []

var handle:DatabaseHandle?

var ref:DatabaseReference?

@IBAction func saveBtn(_ sender: Any) {

    // Saving item to database
    if myTextField.text != ""
    {
    ref?.child("list").childByAutoId().setValue(myTextField.text)
    myTextField.text = ""
    }
}


//Setting up our table view


func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
    return myList.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
    let cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
    cell.textLabel?.text = myList [indexPath.row]
    return cell
}

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    ref = Database.database().reference()

    handle = ref?.child("list").observe(.childAdded, with: { (snapshot) in

        if let item = snapshot.value as? String
        {
            self.myList.append(item)
            self.myTableView.reloadData()
            self.myTableView2.reloadData()
        }

    })

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


 }

1 个答案:

答案 0 :(得分:0)

考虑创建一个新的结构作为您项目的本地Firebase