我使用的应用程序是 100% Objective-C,我想开始过渡以包含 Swift。由于代码库的规模,我很快就会拥有 100% Swift 应用程序是不现实的。
添加 swift 文件后,我注意到应用程序大小会增加,因为现在应用程序需要包含 Swift 运行时。
事情还有什么变化?一旦包含 Swift 文件,编译器和链接器会经历什么过程来发送现在是多语言和相关框架的二进制文件?
在较大的代码库中过渡到混合语言世界时还有其他注意事项吗?
最佳答案
根据我的经验,它的效果出奇的好。然而,建议等待具有泛型支持的 Xcode 7/Swift 2.0/Objective-C,因为这将消除一轮更新,允许您从 Objective-C 与更优雅的 Swift 代码进行互操作,并消除 Swift RT 链接问题现在他们已经稳定了运行时间。
除此之外,两个编译器都需要运行,首先是 Swift,其次是 Objective-C,swiftc 编译器可以非常快,也可以非常慢,具体取决于您编写的无辜和合法的 Swift 代码(这也是事实)当然是仅支持 Swift 的应用程序)。
开始时,您需要阅读互操作指南,了解桥接 header 的工作原理,然后就可以开始了。我想说,拥有一个混合应用程序实际上是一件幸事,因为您不必被迫同时学习和完成所有事情。当然,意见会有所不同,但这是我的。
关于同时具有 Objective-c 和 Swift 的 iOS 应用程序 - 优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32323088/