Tag: swift2.2

#warning:C语言的陈述已被弃用,并将在未来版本的Swift中删除

我只是用swift 2.2下载一个新的Xcode(7.3)。 它有一个警告: C语言的语句已被弃用,并将在未来版本的Swift中被删除。 我怎样才能解决这个警告?

为什么不是可以转换为?

考虑以下几点: struct SomeStruct {} var foo: Any! let bar: SomeStruct = SomeStruct() foo = bar // Compiles as expected var fooArray: [Any] = [] let barArray: [SomeStruct] = [] fooArray = barArray // Does not compile; Cannot assign value of type '[SomeStruct]' to type '[Any]' 我一直在试图find这背后的逻辑,但没有运气。 值得一提的是,如果你把这个结构改成一个类,它就可以正常工作。 总是可以添加一个解决方法,映射fooArray的每个对象,并将它们转换为Anytypes,但这不是问题。 我正在寻找一个解释,为什么这是这样的行为。 有人可以解释一下吗? 这个问题导致了我这个问题。