迁移到Swift 3

时间:2016-12-06 00:04:03

标签: swift3

我有一个名为service的变量,如下所示:

var service: AnyObject = [] //Swift 2.3

我的问题是如何将其迁移到Swift 3.我是iOS中的菜鸟,我已经在互联网上查看但是无法获得它。

PS。我收到错误“上下文类型'AnyObject'不能与数组文字”

一起使用

提前致谢!

3 个答案:

答案 0 :(得分:3)

你在做什么总是错的。如果在初始化时没有值供应,请使用Optional。理想情况下,您应该将此声明为获取值时的实际值类型(而不是像AnyObject这样的catch-all类型)。但是,如果你不能这样做,那么只需使用Any?

var service : Any?

或者,如果这个东西的类型已知 - 例如,如果你知道它将是一个字典 - 然后将它声明为一个字典,可能是通过提供一个空字典,像这样:

var service = [AnyHashable:Any]()

答案 1 :(得分:0)

var service = [AnyObject]()将有效。

答案 2 :(得分:0)

以下是在Swift -3

中使用它的示例
var service = [AnyObject]()  //Swift 3
service = ["a" as AnyObject,"b" as AnyObject]
print(service)

输出:

a,b