美文网首页
Swift学习笔记记录

Swift学习笔记记录

作者: jayhe | 来源:发表于2020-08-20 21:51 被阅读0次
    1. 条件编译

    有时候我们需要一些代码只在DEBUG模式下生效,就用到了条件编译

    在OC中直接这样就可以:

    #if DEBUG
      code0
    #else
      code1
    #endif
    

    在Swift文件中直接这样使用发现在Xcode的Debug模式下,走的却是else分支。查了下资料知道Swift是不支持宏的,但还是可以使用条件编译的,需要额外做些设置。

    设置路径:BuildSettings -- Swift Complier - Custom Flags

    • 设置Active Compilation Conditions
      在Debug模式下加上DEBUG
    • 设置Other Swift Flags
      在Debug模式下加上-D DEBUG

    以上2中方式都可以,需要注意跟OC的区别不需要设置DEBUG=1

    2. OC、Swift相互调用

    首先需要创建一个桥接文件TargetName-bridging-header.h;其次在Build Settings -- Swift Compiler - General -- Objective-C Bridging Header设置这个桥接文件的路径

    • OC调用Swift

    在OC文件中通过#import "ModuleName-Swift.h",这里的ModuleName就是模块名,比如是主项目中的Swift文件,则ModuleName就是TargetName

    • Swift调用OC

    我们需要将需要暴露给Swift的类,import到桥接文件中

    相关文章

      网友评论

          本文标题:Swift学习笔记记录

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