Firebase设置值在IOS 10、Swift 3中不起作用
当我试图将评论保存到Firebase时,我的应用程序正在崩溃。此代码在Xcode 8更新之前运行良好:Firebase设置值在IOS 10、Swift 3中不起作用,ios,swift,firebase,firebase-realtime-database,exc-bad-access,Ios,Swift,Firebase,Firebase Realtime Database,Exc Bad Access,当我试图将评论保存到Firebase时,我的应用程序正在崩溃。此代码在Xcode 8更新之前运行良好: func saveNewComment(){ //get date let date = Date() let calendar = Calendar.current let components = (calendar as NSCalendar).components([.day,.month,.year], from: date) le
func saveNewComment(){
//get date
let date = Date()
let calendar = Calendar.current
let components = (calendar as NSCalendar).components([.day,.month,.year], from: date)
let year = components.year
let month = components.month
let day = components.day
//format month
let dateFormatter: DateFormatter = DateFormatter()
let months = dateFormatter.shortMonthSymbols
let monthSymbol = months?[month!-1]
let todaysDate = "\(day) \(monthSymbol),\(year)"
//trim comment
let comment = textView.text
let trimmedComment = comment?.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
//save new comment
let commentRef = ref.child("Stores").child(getRef!).child("CommentArray").childByAutoId()
commentRef.setValue([
"Comment": trimmedComment,
"Date": todaysDate
])
self.delegate?.commentSubmitted(true)//delegate
self.dismiss(animated: true, completion: nil)//dismiss view
}
显然,错误在于我试图使用“setValue”来设置那些键值对。你知道为什么会这样吗
提前感谢。确保
getRef
是正确的节点名称,然后将todaysDate更改为
let todaysDate = "\(day!) \(monthSymbol!),\(year!)"
Firebase
不接受可选类型作为值
let trimmedComment = comment?.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
尝试用打开trimmedComment
和todaydate
值代码>
commentRef.setValue([
"Comment": trimmedComment!,
"Date": todaysDate!
])
您执行了什么更新?你得到了什么错误?getRef是什么?所以我更新了这个问题,我的错,我的意思是Xcode 8更新。另外,getRef只是您写下的对节点的引用。