0

Firebase で Locations のリストを作成しました。それを 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] に型キャストしてもうまくいきません。

これを解決するのに役立ちます。

4

0 に答える 0