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

时间:2016-09-28 03:30:40

标签: swift swift3

我正在尝试将当前项目转换为Swift 3,并且遇到有关objectForKeyobjectFor转换的问题。

myData的类型为AnyObject

之前

let x = myData.objectForKey('myKey')

现在

let x = myData.objectFor('myKey') // not working.

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

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

其他示例

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

var x: AnyObject = ["Hello" : "Goodbye"] as AnyObject
x.objectFor("Hello")

1 个答案:

答案 0 :(得分:5)

语法已从:

更改
let x = myData.objectForKey("myKey")

为:

let x = myData.object(forKey:"myKey")

在Swift 3中。

示例:

var x : AnyObject = ["Hello" : "Goodbye"] as AnyObject
x.object(forKey:"Hello")