AutoCompleteTextField和Firebase
问题描述:
我想在Swift中集成Firebase和AutoCompleteTextField,以便在textField中自动完成。我在尝试将字典转换为数组时遇到问题,因此我可以将它设置为autoCompleteTextField.autoCompleteStrings
。这是我的代码。AutoCompleteTextField和Firebase
func handleTextFieldInterfaces() {
let ref = FIRDatabase.database().reference().child("Airport")
ref.observeEventType(.Value, withBlock: { (snapshot) in
self.autoCompleteTextField.onTextChange = {[weak self] text in
if !text.isEmpty {
var fbosStuff = [String]()
if let snaps = snapshot.value as? [[String: AnyObject]] {
for places in snaps {
print(places)
let names = places["code"] as? String
fbosStuff.append(names!)
}
self!.autoCompleteTextField.autoCompleteStrings = fbosStuff
}
}
}
})
}
和我试图放入文本框的Firebase响应是。
Snap (Airport) {
"Long Beach" = {
FBOs = {
Atlantic = {
100LL = "7.0";
freq = "120.1";
fullname = "Atlantic, Long Beach, KLGB";
"jet-A" = "5.5";
"phone number" = "(800) 554-3591";
};
Signature = {
100ll = "7.0";
email = "[email protected]";
freq = "120.1";
fullname = "Signature, Long Beach, KLGB";
"jet-a" = "5.5";
phonenumber = "(800) 554-3591";
};
};
code = KLGB;
fieldname = Daughtery;
location = "Long Beach, California, USA";
};
"Santa Monica" = {
FBOs = {
"American Flyers" = {
100ll = "5.38";
freq = "123.3";
fullname = "American Flyers, Santa Monica, KSMO";
phonenumber = "(310) 390-2099";
};
Atlantic = {
100ll = "7.79";
freq = "122.95";
fullname = "Atlantic, Santa Monica, KSMO";
"jet-a" = "7.19";
phonenumber = "(310) 396-6770";
};
};
code = KSMO;
fieldname = "Santa Monica Muni Airport";
location = "Santa Monica, California, USA";
};
}
如果你想获得价值“代码”你需要更深入,你可以看到它是深入你的回应,阅读有关映射JSON。尝试一步一步去检查如何打印你需要的东西 –
我试图把“圣莫尼卡”和“长滩”放到一个数组中 – Court
所以如果你打印这行打印(地方) –