2

FirebaseDatabase と (使用しようとしている) Firebase Remote Config の両方を使用するアプリに取り組んでいます。RemoteConfig を完全に機能させることができましたが、次の警告が表示されます (まったく別のクラスで注意してください)。Cast from 'FIRRemoteConfigValue!' to unrelated type 'String' always fails

Firebase データベースからデータを取得しようとするたびに (たとえば)、この警告は正しいです。

let id = snapshot.value!["senderId"] as! String
            let text = snapshot.value!["text"] as! String
            let locationId = snapshot.value!["location"] as! String

...私のコードは、コンソールで何が起こったのかを示すことなく壊れます。

本当に混乱しているのは、Realtime Database と Remote Config が互いに独立して動作することですが、両方を有効にすると Realtime Database がクラッシュします...これは Firebase の不幸なバグですか? それとも、コードを書くときに間違ったことをしたのでしょうか?

何でも役に立ちます、ありがとう。

4

2 に答える 2

1

FIRSnapShot の value プロパティは id(AnyObject) であり、自分で型にキャストする必要があります。この回避策を試していただけますか:

let val = snapshot.value as! NSDictionary?
let id = val!["senderId"] as! String
于 2016-09-26T18:47:00.843 に答える
1

ブラケットアクセス値valueForKeyの代わりに使用してください。[]

バグのあるコード

    let id = snapshot.value!["senderId"] as! String
    let text = snapshot.value!["text"] as! String
    let locationId = snapshot.value!["location"] as! String

解決

    let id = snapshot.value.valueForKey("senderId") as! String
    let text = snapshot.value.valueForKey("text") as! String
    let locationId = snapshot.value.valueForKey("location") as! String

FIRRemoteConfigValueを使用して値にアクセスするためのサポートがありません[]

于 2016-10-26T11:04:53.667 に答える