任何对象?没有名为“下标”的成员 swift

Posted

技术标签:

【中文标题】任何对象?没有名为“下标”的成员 swift【英文标题】:AnyObject? does not have a member named 'subscript' swift 【发布时间】:2015-04-22 01:24:46 【问题描述】:

我是 swift 新手。我想获得选项

fields: [ config:  options: [a: "one", b: "two"] ]

我尝试了以下代码,但它带来了错误 "AnyObject? 没有名为 subscript 的成员"。

【问题讨论】:

看起来 Options 是一本字典。不是数组。 options 是字典数组。 所以你应该转换为 [AnyObject] 【参考方案1】:

AnyObject? 真的是Optional<AnyObject>,并且没有在Optional 类型上定义下标,但是,我用模拟字段字典尝试了你的代码,我没有问题,所以可能是你的示例没有表达上下文这里?尝试将其设为... as? AnyObject 而不是... as AnyObject! ,看看是否有任何不同。此外,简单地退出并重新打开 Xcode 已经证明可以解决许多此类问题:-)

【讨论】:

【参考方案2】:

我试过了,效果很好。

if let config: AnyObject? = fields[i]["config"] 
          if let options: AnyObject? = config?["options"] 
            println("options : \(options)")
          
        

【讨论】:

【参考方案3】:

我只是用一个项目来解决这个问题 - clean 。

【讨论】:

以上是关于任何对象?没有名为“下标”的成员 swift的主要内容,如果未能解决你的问题,请参考以下文章

为firebase数据库创建用户对象时,类型“任何”没有下标成员[重复]

键入任何没有下标成员的swift 3

“任何?”类型的 Swift 3 值没有成员“对象”

类型“任何”没有下标成员[重复]

斯威夫特:'(字符串)-> AnyObject?没有名为“下标”的成员

Swift - 桥接头失败。 “*”没有名为“*”的成员