Ios 更新数据时出现Swift 3 xcode 8 firebase数据库错误
大家早上好,我正在使用Firebase并升级到新版本的Xcode。我在向Firebase数据库发送更多数据时遇到问题。 以下是错误: 正在将应用程序2终止为未捕获的异常“InvalidFirebaseData”,原因:“setValue:无法在SenderId处存储类型为_SwiftValue的对象。只能存储NSNumber、NSString、NSDictionary和NSArray类型的对象。' 我知道是什么问题,我也在互联网上搜索过,我上传的数据都是字符串,升级到Xcode后出现了这个错误,有人有同样的问题吗 应该等几天,我也尝试更新Firebase,但没有更新库。我也有同样的错误。 我就是这样修复的: 我的代码有一个错误:Ios 更新数据时出现Swift 3 xcode 8 firebase数据库错误,ios,firebase,firebase-realtime-database,swift3,Ios,Firebase,Firebase Realtime Database,Swift3,大家早上好,我正在使用Firebase并升级到新版本的Xcode。我在向Firebase数据库发送更多数据时遇到问题。 以下是错误: 正在将应用程序2终止为未捕获的异常“InvalidFirebaseData”,原因:“setValue:无法在SenderId处存储类型为_SwiftValue的对象。只能存储NSNumber、NSString、NSDictionary和NSArray类型的对象。' 我知道是什么问题,我也在互联网上搜索过,我上传的数据都是字符串,升级到Xcode后出现了这个错误,
var videoInfoDic: Dictionary<String, Any?>?
我如何修复:
var videoInfoDic: Dictionary<String, Any>?
拿走了可选部分。归功于:
我一直在使用同一个JSQMessage库,将您的按钮代码更改为此,我已将其修复,请告诉我它的运行情况
var messageRef = FIRDatabase.database().reference().child("messages")
override func didPressSend(_ button: UIButton!, withMessageText text: String!, senderId: String!, senderDisplayName: String!, date: Date!) {
let newMessage = messageRef.childByAutoId()
let messageData: Dictionary<String, Any>? = ["text": text, "senderId": senderId, "senderName": senderDisplayName, "mediaType": "TEXT"]
newMessage.setValue(messageData)
}
我添加了字典
var messageRef = FIRDatabase.database().reference().child("messages")
let newMessage = messageRef.childByAutoId()
let messageData: Dictionary<String, Any>? = ["text": text, "senderId": senderId, "senderName": senderDisplayName, "mediaType": "TEXT"]
newMessage.setValue(messageData)
在你遇到错误的地方给出你的代码你使用的是哪个Swift版本?也许您必须为Swift 2.3设置传统值?swift 3,这是我的代码:覆盖func DIDPRESS发送按钮:UIButton!,withMessageText:String!,senderId:字符串!,senderDisplayName:字符串!,日期:日期!{let newMessageRef=messageRef.childroomId.childByAutoId let mes=[text:text,senderId:senderId,senderName:senderDisplayName,MediaType:text]newMessageRef.setValuemes self.finishSendingMessage}我正在使用jsqmessageviewcontrollerI使用字符串解决了这个问题!NSString在我上传到Firebase数据库时,在DidPressSend按钮中,我使用字符串作为解决问题的方法!NSString在我上传到Firebase数据库时,在DidPressSend按钮中,我使用字符串作为解决问题的方法!NSString在我上传到Firebase数据库时,按发送按钮