微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何暂时停用Swift至Objective-C桥接标头的自动生成功能? 背景工作原理回顾问题可能的正确解决方案问题:偷工减料相关参考文献已修订

如何解决如何暂时停用Swift至Objective-C桥接标头的自动生成功能? 背景工作原理回顾问题可能的正确解决方案问题:偷工减料相关参考文献已修订

背景

比方说,项目App是50/50混合的Swift / Objective-C代码库。 Objective-C文件通过自动生成的“ App-Swift.h”文件导入一些Swift。

#import "App-Swift.h"

工作原理回顾

“ App-Swift.h”文件自动包含从Objective-C继承的所有Swift类:NSObject,UIView,UITableViewCell,UIViewController等;当然,所有@objc和@objcMemmbers都归因于此。

问题

在“ App-Swift.h”中添加任何内容时-导入该文件的所有Objective-C文件都必须重新编译。 即使实际上没有在Objective-C文件中使用添加到Swift的内容,但我们只是继承自UIView。

当您将“ App-Swift.h”导入许多文件时,所有这些都会加起来,并且会降低速度。

可能的正确解决方

代码库分解为小模块,以使接口隔离;避免NSObject继承;尽可能多地将Objective-C转换为Swift;在开发过程中私有所有@ IBOutlet,@ IBAction;等

问题:偷工减料

是否有一种方法可以至少通过任何Swift编译器标志手动禁用Swift到Objective-C桥接标头(“ App-Swift.h”)自动生成(但保留最后生成的App-Swift.h)?

这里还有其他快速取胜的想法吗?

相关参考文献已修订

快速和Objective-C的互操作性
https://dmtopolog.com/code-optimization-for-swift-and-objective-c/
https://swift.org/blog/bridging-pch/
https://developer.apple.com/documentation/swift/imported_c_and_objective-c_apis/importing_swift_into_objective-c

进入模块
https://blog.griddynamics.com/modular-architecture-in-ios/
https://www.bignerdranch.com/blog/it-looks-like-you-are-trying-to-use-a-framework/
https://www.bignerdranch.com/blog/it-looks-like-youre-still-trying-to-use-a-framework/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。