我正在尝试使用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
]
}
}