自从将我的项目转换为Swift 3后,我得到了一个"模糊地使用下标"以下代码出错:
if let alert: AnyObject = alert, let remotetitle = alert["title"] as? String{
我需要改变什么?
答案 0 :(得分:2)
不要注释非特定类型,强制转换为特定类型
if let alert = alert as? [String:Any], let remotetitle = alert["title"] as? String {
PS:AnyObject
已更改为Any
作为字典值。
答案 1 :(得分:1)
您需要指定变量alert
的类型。问题是它不能将下标应用于AnyObject
类,结构和枚举可以定义下标,下标是用于访问集合,列表或序列的成员元素的快捷方式。您可以使用下标按索引设置和检索值,而无需单独的设置和检索方法。例如,您可以将Array实例中的元素作为someArray [index]访问,将Dictionary实例中的元素作为someDictionary [key]访问。