美文网首页
oc组件化项目与swift混编

oc组件化项目与swift混编

作者: 44Fish | 来源:发表于2020-08-21 18:46 被阅读0次

    记录一下初学swift遇到的问题~

    项目背景:service-protocol类型的组件化。在组件A中混编加入swift文件。

    步骤:target设置SWIFT_VERSION

    podfile里添加use_modular_headers!

    问题:在Bridging-Header.h里引入了头文件,但是在.swift里还是不能使用

    原因:在主工程里才在Bridging-Header.h里引入需要的头文件,在组件中只需要在.swift文件里import头文件

    问题:有部分方法没有提示,也无法调用

    原因:方法里面带有.swift文件里没有import的参数类型

    问题:需要在组件A的 .swift 文件中调用组件B的协议方法,如果组件A依赖的是组件B的 protocol 就 import 不了,如果是依赖的组件就可以 import

    原因:swift 里一个 module 必须要有一个实现文件,但是只有协议的.h文件那么没法形成一个 module 

    解决方案:加一个 协议.m 文件就可以 import 协议了

    问题:无法调用 + (instancetype)manager

    原因:Xcode 限制了 swift 对 OC 初始化相关方法的调用,+ (instancetype)manager 写法会被忽略。

    解决方案:使用 Xcode 认可的关键字 default、singleton、shared 为前缀声明方法名。

    问题:

    这行代码崩溃了

    原因:UICollectionView API 设计中不让直接使用 init 方法,因为 collectionView 布局需要 layout 来实现

    解决方案

    不要直接x()

    相关文章

      网友评论

          本文标题:oc组件化项目与swift混编

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