栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

类型“任何”没有下标成员

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

类型“任何”没有下标成员

snapshot.value
的类型为
Any
。下标是一种特殊的函数,它使用将值括在大括号中的语法。此下标功能由实现
Dictionary

因此,这里发生的是,作为开发人员的YOU知道这

snapshot.value
是一个
Dictionary
,但是编译器却没有。它不会让您调用该
subscript
函数,因为您试图在type的值上调用它
Any
并且
Any
未实现
subscript
。为此,您必须告诉编译器您
snapshot.value
实际上是一个
Dictionary
。此外,还
Dictionary
可以让您将下标函数与
Dictionary
键的类型无关。因此,您需要告诉它您有一个
Dictionary
带有
String
(AKA
[String:Any]
)的键。会比这还要进一步,你的情况,你似乎知道,都在你的价值观
Dictionary
String
一样,所以代替铸造每个值,你就下标后
String
使用
as!String
,如果只是告诉您同时
Dictionary
具有两种
String
类型的键和值(AKA
[String:String]
),那么您将可以通过下标访问这些值,并且编译器将知道这些值
String
也是!

guard let snapshotDict = snapshot.value as? [String: String] else {    // Do something to handle the error     // if your snapshot.value isn't the type you thought it was going to be. }let employerName = snapshotDict["employerName"]let employerImage = snapshotDict["employerImage"]let uid = snapshotDict["fid"]

在那里,您拥有了!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/376709.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号