gpt4 book ai didi

swift - 无法将类型 '()' 的值转换为预期的参数类型 '(() -> Void)?'

转载 作者:行者123 更新时间:2023-11-28 13:23:47 24 4
gpt4 key购买 nike

我遇到了这样的问题,有没有人知道如何解决它?Xcode 11.2、SwiftUI

.onAppear(perform: self.sessionChat.loadMsgInChatRoom(chatRoom: chatRoom)) //then an error

func loadMsgInChatRoom(chatRoom: String) {
let db = Firestore.firestore()
db.collection("chatRoom").document(chatRoom).collection("msg")
.addSnapshotListener { (querySnapshot, err) in
if err != nil {
print((err?.localizedDescription)!)
return
}
for i in querySnapshot!.documentChanges {
if i.type == .added {
let user = i.document.get("user") as! String
let msg = i.document.get("msg") as! String
let idUser = i.document.get("idUser") as! String
let dateMsg = i.document.get("dateMsg") as! String
let id = i.document.documentID

self.msgs.append(dataMessges(id: id, user: user, msg: msg, idUser: idUser, dateMsg: dateMsg))
}
}
}
}

最佳答案

.onAppear 需要一个闭包,所以我认为需要花括号

.onAppear(perform: { self.sessionChat.loadMsgInChatRoom(chatRoom: chatRoom) } )

或者更简单的方法:

.onAppear { 
self.sessionChat.loadMsgInChatRoom(chatRoom: chatRoom)
}

关于swift - 无法将类型 '()' 的值转换为预期的参数类型 '(() -> Void)?',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58704274/

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