ios - 无法使用 Swift 从 Firebase 检索数据

标签 ios swift firebase firebase-realtime-database

我正在尝试创建一个 View Controller ,显示来自前一个 View Controller 上的 UITableView 的已点击商店的信息。但是,我无法在新的 View Controller 中检索数据,而且我不知道如何解决这个问题。这是我的数据库结构。感谢您的帮助。 Database Structure

import UIKit
import Firebase
import FirebaseDatabase

class ShopViewController: UIViewController {    
    var name :String? // This is the name of the cell clicked on the previous viewcontroller

    var ref: DatabaseReference!
    @IBOutlet weak var shopName: UILabel!    
    @IBOutlet weak var shopType: UILabel!    
    @IBOutlet weak var imageView: UIImageView!

    override func viewDidLoad() {
        shopName.text = name

        let ref = Database.database().reference().child("shops").childByAutoId().child(name!).child("Details")

        ref.observe(.childAdded, with: { snapshot in            
            let snapshotValue = snapshot.value as! NSDictionary
            let imageUrlString = snapshotValue["imageURL"] as! String
            print(imageUrlString)
            let shoptype = snapshotValue["type"] as! String
            self.shopType.text = shoptype            
        })
    }
}

最佳答案

您的引用有误,childByAutoId() 用于在您的数据库中生成唯一 ID。

另外你现在的id是userid,你需要取回userid:

let user = Auth.auth().currentUser
let uid = user.uid

那么位置应该是:

let ref = Database.database().reference().child("shops").child(uid).child("Eat").child("Details")

关于ios - 无法使用 Swift 从 Firebase 检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49750994/

相关文章:

ios - 如何从 itunes connect 或 xcode 关闭 NewsStand 功能?

ios - TableView 单元格丢失顺序

objective-c - 在 for in 循环中使用变量,不被编译器读取...这是为什么?

ios - 在 Swift 2 中动态检查对象类型

ios - 按下 tableView 单元格时在不同的 ViewController 中打开 URL

javascript - 如何在firebase中检索当前用户数据

ios - 链接器错误 - 使用 Cardboard SDK 的 CreateMainApp __EXPECTED_EXACTLY_ONE_VR_MAIN_APP_STATEMENT__

ios - 将值传递给 WKWebView Swift

IOS swift firebase auth 登录不正确

javascript - 为什么我选择的数据只显示最后的数据?