Ios 类型';字典';没有下标成员Swift-3.0转换问题

Ios 类型';字典';没有下标成员Swift-3.0转换问题,ios,swift,compiler-errors,swift3,Ios,Swift,Compiler Errors,Swift3,在从Swift 2自动转换为Swift 3后,我在下面得到了这个编译器错误 键入“NSDictionary!”没有下标成员 我在中看到过类似的问题,但解决方案仍然不适用于NSDictionary 请让我知道如何修理它 代码: 在Swift 3中,NSDictionary的值类型已更改为Any。 因此下标allData[key]的结果类型是Any?,不能自动转换为AnyObject? 试试这个: open func getData(_ key: String) -> AnyObject? {

在从Swift 2自动转换为Swift 3后,我在下面得到了这个编译器错误

键入“NSDictionary!”没有下标成员

我在中看到过类似的问题,但解决方案仍然不适用于NSDictionary

请让我知道如何修理它

代码:


在Swift 3中,
NSDictionary
的值类型已更改为
Any
。 因此下标
allData[key]
的结果类型是
Any?
,不能自动转换为
AnyObject?

试试这个:

open func getData(_ key: String) -> AnyObject?
{
    return allData[key] as AnyObject?
}
但是,如果如图所示使用
allData
,为什么不将其声明为
[String:AnyObject]


而错误消息。。。最好发封邮件。

谢谢@OOPer,它很有效。实际上这是一个遗留代码,现在我只需要转换成Swift 3。我不知道为什么改用字典。我会在有时间的时候重构。
open func getData(_ key: String) -> AnyObject?
{
    return allData[key] as AnyObject?
}