【发布时间】:2020-03-05 08:39:08
【问题描述】:
如何将非字符串类型的数据添加到 DatabaseRepresentation。我尝试过 AnyObject,但不符合哈希协议。
lastMessageRead 是 Bool 类型还是我只是将其存储为字符串?
extension Channel: DatabaseRepresentation {
var representation: [String : Any] {
var rep = ["ownerName": ownerName]
rep["ownerId"] = ownerId
rep["participantName"] = participantName
rep["participantId"] = participantId
rep["lastMessage"] = lastMessage
rep["lastMessageId"] = lastMessageId
if let lastMessageRead = lastMessageRead {
rep["lastMessageRead"] = lastMessageRead **Cannot assign Bool to String
}
if let id = id {
rep["id"] = id
}
return rep
}
}
【问题讨论】:
-
这个问题有点模糊,因为没有迹象表明
lastMessageRead是什么,而这就是问题所在。提供的答案(到目前为止)是一种解决方法,并未解决实际问题。也就是说,当你真的想要一个布尔值时,为什么还要努力将布尔值转换为字符串,以便测试真假?
标签: ios swift firebase google-cloud-firestore