gpt4 book ai didi

ios - 从 FIRRemoteConfigValue 转换为不相关的类型 String 总是失败 : Firebase, Swift

转载 作者:行者123 更新时间:2023-11-28 08:26:01 27 4
gpt4 key购买 nike

我知道这是 Cast from FIRRemoteConfigValue to unrelated type String always fails副本 .但公认的答案是这只是一个错误

我认为不是。

根据另一个解决方案,我必须在每次检索或实例化变量时强制转换数据类型。我希望为此找到一个不同而优雅的解决方案。

一切正常,但在我安装 Pod 'FirebaseRemoteConfig' 之后,我在实例化变量的每一行上都收到此警告使用我收到的快照值。

Cast from FIRRemoteConfigValue to unrelated type String always fails

当我运行我的应用程序时,它在那里崩溃。

错误代码

FIRDatabase.database().reference().child("Posts").observe(.value, with: {(recievedSnap) in

if recievedSnap.exists(){
if let dict = recievedSnap.value as? [String:AnyObject]{
for each in dict{

let str = each.value["text"] as! String //Line of warning(and crash when the app is run)
}
}
}
})

工作代码

 FIRDatabase.database().reference().child("Posts").observe(.value, with: {(recievedSnap) in

if recievedSnap.exists(){
if let dict = recievedSnap.value as? [String:AnyObject]{
for each in dict{
if let eachValue = each.value as? [String:AnyObject]{
let str = eachValue["text"] as! String
}
}
}
}
})

我正在寻找关于以下方面的解释:

  • 安装 Pod 'FirebaseRemoteConfig' 后发生了什么变化,它开始给我这个错误?

  • 为什么每次初始化变量时都需要强制转换?

  • 有没有更好的方法?

最佳答案

终于找到解决方案了...

使用 valueForKey而不是 []括号访问值,因为FIRRemoteConfigValue不支持使用 [] 访问值

然后所有的值都消失了...

例如

Warning code...

下面的代码给出警告...

            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

变暖不是出现更长的时间......

注意:如果您像上面那样使用,那么旧代码也可以正常工作...

关于ios - 从 FIRRemoteConfigValue 转换为不相关的类型 String 总是失败 : Firebase, Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39957822/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com