我在快速开发中还是个新手,我的问题是,我有如下Firestore结构:
问题是要将标题列表从firestore显示到uipicker中,我需要将数据放入如下数组中: firsProgramme,secondProgramme,thirdProgramme
我设法在字符串中显示来自firestore的所有"title“,而不是数组中
代码如下:
func getprogram() {
let db = Firestore.firestore()
db.collection("Programme").getDocuments()
{
(querySnapshot, err) in
if let err = err
{
print("Error getting documents: \(err)");
}
else
{
for document in querySnapshot!.documents {
let data = document.data()
let program = data["title"] as? String ?? ""
// let agencyId = document.documentID
print(program)
//print("\(document.documentID) => \(document.data())");
}
}
}
}
结果print(program)返回如下:
firstprogramme
第二个程序
第三个程序
UIPicker的另一部分已经得到了很好的管理。提前谢谢。
发布于 2018-04-26 18:30:32
在您的类中,创建一个数组变量来保存有关程序的信息:
var programsArray: [String] = []
从Firebase读取数据时,使用programsArray.append(program)
而不是print(program)
。在获得所有数据后,调用UIPickerView重载函数。
DispatchQueue.main.async { self.your_picker_view.reloadAllComponents() }
当然,在您的选择器视图数据源方法中使用此数组。
https://stackoverflow.com/questions/50038681
复制相似问题