【发布时间】:2017-01-22 12:43:35
【问题描述】:
我刚刚更新到 Xcode 8 和 iOS 10(使用旧的 Swift 语言版本)。
尝试再次编译我的项目一直很痛苦,即使仍然使用旧的 Swift 语法。这次我的一个函数使用了NSBundle(forClass: self.dynamicType),但现在看来.dynamicType 已被弃用,Xcode 甚至不想编译它。
他的建议是使用type(of: self),但也失败了。有人知道解决方案吗?谢谢。
【问题讨论】:
-
NSBundle(forClass: self.dynamicType)在 Swift 2.3 中对我来说编译得很好,你确定“使用旧版 Swift 语言版本”设置为“是”吗?您可以随时尝试清理构建文件夹。 -
是的,设置好了,我可以看到效果,因为语法错误的数量从30个减少到1个。我的看法是这个错误与新的iOS 10 SDK中更新的新UIKit框架有关,这就是为什么当我更新到 Xcode 8 时,它似乎甚至激活了遗留的 Swift 语法。
-
别在意我的最后一句话,UIKit 还是一样的