美文网首页Swift基础
1.对 Swift 中没有 OC 代码处理 2. @frozen

1.对 Swift 中没有 OC 代码处理 2. @frozen

作者: Ian_ | 来源:发表于2020-09-18 17:55 被阅读0次

1.Swift 和 OC 混合的处理

1.1 Build Settings >> Install Objective-C Coompatibility Header = No
这代表这个 framework 没有任何 OC 的 API.
这将在 build 的时候 framework 中不会自动生成 SchemeName-Swift.h 这个文件.

1.2 Build Settings >> Defines Module = No
如果代码中完全没有 OC 代码, 设置为 No, 则表示不支持 OC 的 Module 导入
即不支持: @import OCModule
如果设置成 No, 则可以删除原来自带的 SchemeName.h 文件

2.@frozen @inlinable

@frozen 和 @inlinable 是保证这个enum, struct, function的结构不变
@frozen 是对 enum, struct 使用
@inlinable 是对 function 使用

可以保证在项目中引用的某 framework 替换后仍然不需要重新编译,
因为 enum, struct, function 的链接没有发生改变

相关文章

网友评论

    本文标题:1.对 Swift 中没有 OC 代码处理 2. @frozen

    本文链接:https://www.haomeiwen.com/subject/fwwjyktx.html