【发布时间】:2020-09-04 17:21:47
【问题描述】:
每次我测试我的代码时,pickerUI 都会返回一个空字符串,而不是学院名称。这是为什么?调试时,docData 设置正确,但在关闭后变回空字符串。
var ans = "";
var pickerData = [Any?]();
let db = Firestore.firestore();
override func viewDidLoad() {
super.viewDidLoad();
let docRef = db.collection("colleges").document("UMD");
var docData = "";
docRef.getDocument { ( document, error) in
if error == nil {
docData = document!.get("Name") as! String;
} else{
}
}
pickerData.append(docData);
picker.delegate = self
picker.dataSource = self
}
【问题讨论】:
-
因为
getDocument异步工作。代码不一定按行的顺序运行。而且——不相关——Any?是 Swift 中最糟糕的类型。
标签: swift firebase google-cloud-firestore closures swift4