swift addSnapshotListener代码编译并运行,但出现错误:无法将型别'()'的值转换成结束结果型别'Title?'

qhhrdooz  于 2022-12-02  发布在  Swift
关注(0)|答案(1)|浏览(67)

程式码会编译并运作,但在检视程式码时会掷回错误。

func subscribe() async {
        let uid = auth.currentUser.uid
        print("Library.subscribe() \(uid)")
        
        if listenerRegistration == nil {
            
            listenerRegistration = db.collection(collectionRootLib).document(uid).collection(collectionUserLib).addSnapshotListener { (querySnapshot, error) in
         
                guard let documents = querySnapshot?.documents else {
                    print("No documents")
                    return
                }
                
                self.content = documents.compactMap { queryDocumentSnapshot in
                    try? queryDocumentSnapshot.data(as: Title.self)  // <= cannot convert Error 
                }
            }
        }
    }

抛出的两个错误是:传递给不使用参数的调用的参数无法将类型“()”的值转换为闭包结果类型“Title?”
将try放入do/catch块似乎不是正确的修复方法。

wwodge7n

wwodge7n1#

已更新至Xcode-13.4.1,查看Firebase可编码扩展时不再显示这些编译器错误。

相关问题