【问题标题】:How to get an array from Firestore document on Swift 5?如何从 Swift 5 上的 Firestore 文档中获取数组?
【发布时间】:2021-09-01 11:42:08
【问题描述】:

如果其中一个值是数组,请帮助我理解从 Firestore 文档中读取数据的逻辑。我在这里尝试了其他答案和来源,但从未找到一种简单的工作方式并清楚地理解。 Firestore 文档结构 — example. 以及用于保存的 Swift 类目标(条件):

struct MyStruct {
  var name: String
  var pages: Int
}


let part1 = [MyStruct]()
let name1 = ""
let pages1 = 0
 
let part2 = [MyStruct]()
let name2 = ""
let pages2 = 0

 
func readFirestore() { }

将数据添加到类中现有目标的文档阅读器函数应该是什么样的?提前感谢您在提高我的理解方面提供的任何帮助!

【问题讨论】:

标签: swift firebase firebase-realtime-database google-cloud-firestore


【解决方案1】:

他们帮助处理熟悉的人,谢谢他们。正如预期的那样,一切都很简单。但是对于初学者来说,没有什么比简单更难的了?

func readFirestore() {
    
    self.db.collection("example").document("book").getDocument { (document, error) in

        if error == nil {
            if document != nil && document!.exists {

                //get all document data
                guard let documentData = document!.data() else {return} 

                //get value-array for key "part1"
                let element = documentData["part1"] as? [Any] //print -> Optional([name1, 100])
                
                //get first element in array
                guard let nameDB = element?[0] as? String else {return} //print -> name1
                guard let pagesDB = element?[1] as? String else {return} //print -> 100

                //append in class
                part1.append(MyStruct(name: nameDB, pages: pagesDB))
                name1 = nameDB
                pages1 = pagesDB

            }
        }
    }
}
                
                

【讨论】:

    猜你喜欢
    • 2019-07-04
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多