gpt4 book ai didi

ios - 火力地堡 : How to add new attribute in existing table

转载 作者:行者123 更新时间:2023-11-28 06:16:34 24 4
gpt4 key购买 nike

我正在 swift 开发一个项目,使用 firebase 作为管理数据的后端。

FirebaseApp.configure()
Database.database().isPersistenceEnabled = true

这是我在应用委托(delegate)文件中设置的。现在在我的聊天模块中,我通过以下代码在 firebase 数据库中添加了消息信息。

    let messageData = ["text": text, "senderId": senderId, "senderName": senderDisplayName, "MediaType": "TEXT"]
self.messageSentRef?.child("Messages").childByAutoId().setValue(messageData)

现在我想在消息表中添加一个名为 TimeStamp 的新属性。

任何人都可以帮助我如何做到这一点?

最佳答案

如果你有一个 MessageItem/MessageData 对象,你总是可以通过修改你的对象结构来添加更多的属性。为了将 timestamp 添加到现有数据中,您可以直接将其添加到您的 Firebase/Database 控制台中(这是一种手动方式,或者只是在代码中这样做)

let messageItem = MessageItem(text: text,
senderId: self.user.email,
senderDisplayName: false,
mediaType: "",
timestamp: "")

let messageItemRef = self.ref.child("Message")
messageItemRef.setValue(messageItem.toAnyObject())

编辑:原始问题没有 MessageItem 对象,所以让我们将一个对象放在一起使这个答案有效:

在您的 viewController 类(或任何顶级类)中,我们需要像这样实现一个 MessageItem 类对象

class MessageItem {
var text = ""
var senderId = ""
var senderDisplayName = false
var mediaType = ""
var timestamp = ""

init(text: String, senderId: String, senderDisplayName: Bool, mediaType: String, timestamp: String) {
self.text = text
self.senderId = senderId
self.senderDisplayName = senderDisplayName
self.mediaType = mediaType
self.timestamp = timestamp
}

func toAnyObject() -> Any {
return [
"text": text,
"senderId": senderId,
"senderDisplayName": senderDisplayName,
"mediaType": mediaType,
"timestamp": timestamp
]
}
}

关于ios - 火力地堡 : How to add new attribute in existing table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44962859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com