【发布时间】:2018-09-17 06:59:02
【问题描述】:
在 swift 4.0 中从 firebase 快照字典中获取值时,我无法解开可选的 nil
这是我的代码
Database.database().reference().child("questionPosts").queryOrderedByKey().observe(.childAdded) { (snapshot) in
if let dict = snapshot.value as? NSDictionary {
//var questionName = dict["name"] as! String
//var created_by = dict["email"] as! String
let questionTitle = dict["name"] as? String
let created_by = dict["email"] as? String
let question = Question(questionName: questionTitle!, created_by: created_by!)
self.questions.append(question)
print(self.questions.count)
}
}
当我运行它时,它给了我一个错误提示:
线程 1:致命错误:打开包装时意外发现 nil 可选值
我也在 Xcode 9.0 的 swift 4.0 中编写此代码
谁能帮我解决这个问题好几个星期了
非常感谢您的帮助
【问题讨论】:
-
检查您的字典的 keys 是否返回有效的
Stringvalues。 -
让 question = Question(questionName: questionTitle!, created_by: created_by!) 在这一行你可以删除!签名。
-
@SagarBhut 我试过了,但它给了我一个错误并自动完成它有一个问号
-
您需要将 let questionTitle = dict["name"] 的默认值设置为? String let created_by = dict["email"] as?将字符串替换为 let questionTitle = dict["name"] as?细绳 ?? "" 让 created_by = dict["email"] as?细绳 ?? ""
标签: ios firebase firebase-realtime-database swift4