美文网首页Swift 语言:
PCH文件(Objective-C和Swift)

PCH文件(Objective-C和Swift)

作者: 阳光下的叶子呵 | 来源:发表于2022-10-13 12:11 被阅读0次

    大家都知道在OC中我们经常使用PCH文件定义一些全局的宏定义,这样使用起来很方便。但是在Swift中创建PCH文件是有些差异的。这里分别就两种语言创建PCH文件做一下记录。

    • Objective-C

    一、Objective-C代码中,我们可以把一些公用的宏定义,头文件放在PCH文件中,配置文件,来供应整个工程文件下所有文件,每个位置的随时获取与应用.
    过程:
    ① 在对应位置创建所你所需要的pch文件!按步骤进行,并点击 Next 完成创建

    创建pch文件.png

    ② 在所创建的PCH文件中,在 #define#endif之间可以定义宏,也可导入需要全局使用的文件的头文件(.h文件)

    pch文件.png

    ③ 在上一步完成后,还不能实现效果.还需要对PCH文件进行文件配置:找到对应的Build settings位置,在All中搜索prefix关键字,找到对应的Prefix Header列表项,在对应内容栏里双击,将pch文件路径输入,完成配置!

    • 点击PCH文件,Xcode的右侧会显示PCH的属性。这里我们可以获取到PCH的绝对路径。从工程的路径开始,前面使用$(SRCROOT)代替,即为PCH的相对路径
      (即,绝对路径:/Users/用户名/Desktop/app项目文件夹名/app根目录文件名/PrefixHeader.pch
      相对路径:$(SRCROOT)/app根目录文件名/PrefixHeader.pch
      )
    给pch文件设置相对路径.png

    ④ 任务完成,这样你有什么想要在全局都可以获得参数,方法,文件等都可以写在其中!

    • Swift

    二、但是,在swift创建的工程项目文件里,按照上述方案是行不通的 .swift项目中只有 .swift 为后缀的项目文件,pch文件是后缀为 .h 的项目文件,自然是不可行的!但官方为了OC和Swift相互兼容提供了桥接方法(即:设置桥接文件,可以进行OC和Swift混编,结果尝试了之后,对于.pch文件来说,这却是行不通的!

    ① 首先,我们先来说swift和OC之间的那个桥接文件是怎么来的吧!第一,当然是需要在对应的位置按照如下顺序创建所需要的OC文件:

    第一步:

    创建桥接文件.png
    第二步:
    .png
    ② 再在点击 Next 按钮后,会出现一个弹框,如图: {译: 你愿意配置一个OC桥接头文件吗?添加这个文件到(当前项目)中将可以混编swift和OC.你是否愿意让Xcode自动配置这个桥接头文件,从而可以用两种语言来实现多种类的使用?}
    WeChatdb14eb4b759096dbebd1c0eed6a2a262.png

    ③ 这样就可以使Xcode自己创建并配置好对应的桥接文件.如图:但是对于继承各种类的项目文件来说,一切都是可行的!但是,将pch文件导入,却并不能在swift文件中正常使用其中所定义的宏!

    f.png

    ④ 上面的 ③ 这一步是不可行. 下面才是Swift中代替OC的PCH文件的.一切的中心就是那个 Swift File 文件,说白了,他就是Swift环境下个PCH文件,按照步骤,点击Next完成创建!

    截图.png

    ⑤ 如下,就是你所期待已久的Swift环境下的"PCH",其实,就是一个Swift文件!在编辑区域,就可以用Swift语言进行如OC下的"宏"的定义! Foundation改为UIKit

    截图.png

    这样我们就可以在工程中畅快地使用全局的宏定义了。

    相关文章

      网友评论

        本文标题:PCH文件(Objective-C和Swift)

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