我在Firebase中创建了一个位置列表,我试图在我的iOS应用程序中读取它,然后将其视为PickerView。
以下是我阅读数据的方式。
ref.child("locations").observeSingleEventOfType(.Value, withBlock: { snapshot in
self.listOfLocations = snapshot.value as! [String]
})
PickerView的代码
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return listOfLocations.count;
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return listOfLocations[row]
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int){
selectedLocation = listOfLocations[row]
}
但是,程序在快照行停止执行会出错。
在我看来,问题是读取数据类型为AnyObject,而在PickerView中我需要String。将[AnyObject]类型转换为[String]不适用于我。
我很感激帮助解决这个问题。