我正在从Firestore检索数据,并将其插入pickerview中。问题是它要插入所有x2。而且我不知道该如何解决。
所以我的问题是..如何确保程序仅检索数据一次?而不是花费很多时间。
当我运行程序时,pickerview如下所示:
乔什 约切 推杆 推杆 丽贝卡 丽贝卡 弗雷德里克 弗雷德里克 安娜 安娜
这是检索数据时的代码:
func getPerson()
{
let authentication = Auth.auth().currentUser?.uid
db.collection("users").document(authentication!).collection("person").getDocuments { (QuerySnapshot, err) in
//If error is not equal to nil
if err != nil
{
print("Error getting documents: \(String(describing: err))");
}
//Succeded
else
{
//For-loop
for elem in QuerySnapshot!.documents
{
let data = elem.data()
data.forEach { (item) in
if let person1Data = data["name"] as? String
{
self.personArray.append(person1Data)
}
}
}
self.pickerView.reloadAllComponents()
}
}
}
那么我如何确保它只会存储一次值?