从不同来源将数据上传到Firebase

时间:2018-08-08 06:36:47

标签: ios swift firebase firebase-realtime-database

我正在尝试使用Firebase快照创建故事的实例,以在tableviewcell上显示两个文本字段,但是其中一个文本字段从其他视图控制器获取数据,并且当我尝试将数据保存到同一位置时得到一个错误,该值之一为nil。我一直在尝试寻找各种方法将各种视图控制器中的数据收集到我的自定义类中,因此当按下故事按钮时,它将所有数据记录到数据库中 有没有办法将其他视图控制器中的数据保存到相同的.childbyautoid位置?

这是代码

[IsModified]

创建配置文件视图控制器

class Story
{
    var text: String = ""
    var fullname: String = ""
    var profimage: String = ""
    let ref: DatabaseReference!
    var rub: StorageReference!
    init(text: String) {
        self.text = text

        ref = Database.database().reference().child("People").child("HomeFeed").child("Posts").childByAutoId()

    }
    init(fullname:String){

        self.fullname = fullname


        ref = Database.database().reference().child("People").child("HomeFeed").child("Posts").childByAutoId()


    }

    init(profimage: String) {

        self.profimage = profimage


        ref = Database.database().reference().child("People").child("HomeFeed").child("Posts").childByAutoId()

    }


    init(snapshot: DataSnapshot)
    {
       ref = snapshot.ref
        if let value = snapshot.value as? [String : Any] {
            text = value["Post"] as! String

            fullname = value["Full Name"] as! String


            profimage = value["Profimageurl"] as! String


        }else{
            print("no stories here")
        }
    }

    func imageurl(url: String) {

        ref.updateChildValues(["Profimageurl": url])

    }

        func save() {
       ref.setValue(toDictionary())

    }

    func toDictionary() -> [String : Any]
    {
        return [
            "Post" : text,

            "Full name" : fullname,

            "Profimageurl" : profimage
        ]
    }
}

0 个答案:

没有答案