美文网首页
OC Swift文件混编

OC Swift文件混编

作者: hank009 | 来源:发表于2018-11-26 16:48 被阅读21次

一.Swift 类可以继承 OC 类,OC 类不能继承 Swift 类。

二.Swift 和 OC 混编

 混编无非两种情况:
 1.在 OC 工程项目或者文件中使用 Swift 的文件
    当在OC文件中调用Swift文件中的类的时候,首先在OC文件中要加上 #import"ProjectName-Swift.h"(名称组成:工程名-Swift)。
    这个文件虽然在工程中看不见,但是他是真实存在的。编译后,可以按住command+单机该文件名,进入该文件查看代码。
    引入后,具体类的使用,直接anOC的方式使用即可。
 
 2.在 Swift 工程或者文件中使用 OC 的文件
     当在Swift文件中使用OC文件的时候,只需要在桥接文件(即ProjectName-Bridging-Header.h文件)中引入需要的头文件,具体使用,按照对应的Swift语法结构来即可。

三.两个文件

 1.桥接文件:
 桥接文件 "ProjectName-Bridging-Header.h",在首次创建其他文件的时候会自动生成。如果不小心删除了,也可以手动添加,不过名字必须时"ProjectName-Bridging-Header.h"头文件(名称组成:工程名-Bridging-Header.h),如果名字记不清楚,也可以自己心间HeaderFile后,在Targets->Build Settings->Swift Compiler - General -->Objective-C Bridging Header配置文件路径,这个文件主要是Swift使用OC类时使用的。
 2.Objective-C Generated Interface Header Name文件
 这个文件时混编时,系统生成的Swift文件对应的Objective-C的头文件,具体可以在Targets->Build Settings ->Swift Compiler - General -> Objective-C Generated Interface Header Name进行配置,默认文件是 工程名-Swift.h,一般不做改动。

四.混编注意事项

 对于需要混编的Swift类添加@objc声明或继承NSObject或者NSObject的子类
 class TestClass{
   //属性
   //实现
 }
     如果要在OBjective-C类中使用TestClass类,应当使用@objc加以声明,或者将TestClass继承自NSObject或者NSObject子类,否则引入 ProductName-Swift.h之后,程序找不到对应类。
 
 使用第三方Framework
     1.设置:target -> build setting -> Packaging -> Defines Module为 “YES”;
     2.然后,配置文件 target -> build Phases -> Link Binary,添加要导入的Framework.
     3.最后,还是要配置桥接文件,比如要使用abc-lib.framework库中的abc.h,就要这样配置:#import"abc-lib/abc.h";

相关文章

  • OC和Swift混编手动创建桥接文件及命名空间

    Obj-C混编Swift && Swift混编Obj-C Swift引用OC实现通过桥接头文件,OC引用Swift...

  • Swift与OC混编

    Swift与OC混编:OC文件使用Swift文件时,引入#import (项目名字)-Swift.h。(系统帮我们...

  • iOS开发之一Swift与OC混编

    Swift与OC混编:OC文件使用Swift文件时,引入#import (项目名字)-Swift.h。(系统帮我们...

  • OC和Swift混编

    OC和Swift的混编,分为两种情况: OC项目中嵌入Swift文件 Swift项目中嵌入OC文件 先来看OC项目...

  • oc Swift 混编

    oc Swift 混编 oc 项目 混编Swift1.1 oc 调用 Swift 的类 和 方法步骤: ...

  • swift 与oc混编 ,找不到“Project Name-Sw

    当我们在用swift 与 oc 混编的工程中,oc文件调用swift 定义的类时,在oc的.h 文件中导入头文件 ...

  • swift与OC混编

    swift与OC混编的总结 现在的swift开发多数会用到混编。swift和oc是通过桥接文件来实现的。无论是在o...

  • OC与Swift混编

    OC与Swift混编 一.objectivec与Swift相互调用对照 OC interface文件如下 转换后对...

  • OC与Swift混编

    OC与Swift如何实现混编 1、 Swift项目中使用OC 在Swift中引用OC需要借助桥接文件xx brid...

  • Swift与OC混编

    如何在OC工程中混编Swift代码? 1. Swift中调用OC代码 在OC工程中新建swift文件时, 会自动生...

网友评论

      本文标题:OC Swift文件混编

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