无法调用非函数类型的值'((AnyObject) - > AnyObject?)!' - 斯威夫特3

Ant*_*ito 4 swift swift3

我想我目前的项目转换为斯威夫特3和正在运行到有关问题objectForKey,以objectFor转换.

myData的类型是 AnyObject

之前:

let x = myData.objectForKey('myKey')
Run Code Online (Sandbox Code Playgroud)

现在:

let x = myData.objectFor('myKey') // not working.
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,XCode给我错误Cannot call value of non-function type '((AnyObject) -> AnyObject?)!',我不知道如何修复.

有谁知道如何更新objectForKey方法以及为什么这种转换不起作用?

其他例子

我在操场上创建了另一个例子来重现这个问题.使用的代码行粘贴在下面.运行此结果与上述错误相同.

var x: AnyObject = ["Hello" : "Goodbye"] as AnyObject
x.objectFor("Hello")
Run Code Online (Sandbox Code Playgroud)

Unh*_*lig 5

语法已更改为:

let x = myData.objectForKey("myKey")
Run Code Online (Sandbox Code Playgroud)

至:

let x = myData.object(forKey:"myKey")
Run Code Online (Sandbox Code Playgroud)

在Swift 3中.

例:

var x : AnyObject = ["Hello" : "Goodbye"] as AnyObject
x.object(forKey:"Hello")
Run Code Online (Sandbox Code Playgroud)