iOS App Firebase 查詢

首先介紹 getDocuments

如果想要抓某個集合裡的所有文件

2019年6月26號裡的一份文件

指定好路徑後用 getDocuments (抓取集合裡的多份文件)

抓到後圖片程式碼裡面的 userAccounting.documents 就是集合裡的所有文件

如果這個陣列沒有東西的話 我就讓 allAccounting 這個陣列清空

並讓 tableView reloadData 畫面上就會是什麼都沒有

但如果 userAccounting.documents 裡面是有資料的

就讓 allAccounting 陣列等於 userAccounting.documents

並用 allAccounting 陣列裡的資料顯示在 tableView 上

取得裡面欄位資料的方法可以在 allAccounting 這個陣列

把 cellForRow 每個的 indexPath.row 帶進去

取得陣列裡的每一份文件

再用 data()[欄位名稱] 轉型成想要使用的型別

就可以取出欄位的資料囉

如果已經確定文件名稱 (例如要抓 a@b.com 這筆文件)

想要只抓某個文件裡面的資料的話

則把路徑指定到 document 並用 getDocument (抓取指定好的某份文件)

這時抓到的文件就只有指定到的一筆

因此 getDocument 才沒有 s

這邊只有一筆資料

所以抓下來後直接用 data().[欄位名稱] 轉型成想要使用的型別 就 ok 囉!

可以直接把欄位的資料顯示在想要的地方

如果想要資料一有變動就再抓一次資料的話

可以使用 addSnapshotListener

這個功能非常方便

一把資料加入 Firebase 後 就會再跑一次程式抓資料

程式碼跟 getDocument 的做法差不多

把 getDocument 換成 addSnapshotListener 就好囉!

附上 GitHub

--

--