美文网首页
OC调用Swift

OC调用Swift

作者: 冷武橘 | 来源:发表于2021-10-21 16:51 被阅读0次

1、新建一个object-c 工程,创建一个Person.swift类


屏幕快照 2019-01-08 下午2.57.50.png 屏幕快照 2019-01-08 下午2.50.01.png

2、点击Don't Create,忽略创建桥接头文件。因为oc调用swift,swift只有.m实现文件,不需要导入头文件。此时oc和swift的混编,oc是通过访问一个特殊的宏来访问swift的。

3、创建一个工程后,默认swift的访问是通过一个如下的头文件


屏幕快照 2019-01-08 下午2.56.52.png

这个头文件的名字默认是工程名+ "-" 如图就是test-swift.h

文件名字是可以自己修改的,如下swift.h

屏幕快照 2019-01-08 下午3.02.17.png

4、导入swift的模块宏文件


屏幕快照 2019-01-08 下午3.04.01.png

5、编写swift暴漏给objects


截屏2021-10-21 下午4.44.16.png 截屏2021-10-21 下午4.47.36.png
  • 1、只有继承NSObject的类才能被oc访问,不继承NSObject的纯swift类不能被 oc所访问。另外默认Swift中的类的访问权限是fileprivate,所以要想被OC访问到Swift中的类也必须public修饰。

  • 2、只有被@objec修饰的方法和属性对于oc才是可见的,才能被访问。另外Swift中的方法和属性的访问权限默认是fileprivate,这时OC访问它们时,对于对象来说这些属性和方法是私有的,只能通过kvc访问私有属性,只能通过performSelector访问私有方法。为了使对象能够直接访问它们,属性和方法用public修饰。

  • 3、用@objcMembers直接修饰在class前面,系统会自自动给class对象的属性、方法前面添加@objec来表明它们是可以被OC访问的。
    6、oc调用swift


    屏幕快照 2019-01-08 下午3.31.01.png

相关文章

  • OC-Swift混编相关配置

    1.oc调用swift 在oc中使用swift代码,需要把swift代码作为module暴露给oc进行调用 配置如...

  • Swift与OC混编

    标签:Swift 在Swift中调用OC 首先创建OC/Swift工程 然后创建swift/OC文件,Xcode会...

  • oc Swift 混编

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

  • OC 和 swift 互调

    swift中调用OC 如果想要在swift中调用OC,那么需要一个桥接文件(OC Bridging Header)...

  • iOS开发中 OC与Swift混编

    人工SEO 关键词 : iOS 开发 ,iOS 混编 ,OC调用swift ,swift调用OC ? 前言 :Sw...

  • OC 和Swift 互相调用

    一、OC调用swift文件 二、swift调用OC文件 三、注意和总结 添加: 四、自定义桥接文件 一、OC调用s...

  • OC工程中OC文件和Swift文件相互引用

    1、主工程是OC创建,工程中OC文件调用Swift 文件及项目中Swift调用OC文件1.1 创建OC项目 1....

  • swift-struct作为数据模型

    struct的不足:1.当项目是swift和oc混合开发时,OC无法调用swift的struct,因为oc调用sw...

  • OC与Swift混编

    首先我们用Xcode建立OC的工程,然后逐步配置互相调用。 OC调用Swift 创建swift的controlle...

  • OC调用Swift

    OC调用Swift,Swift的类必须继承NSObject

网友评论

      本文标题:OC调用Swift

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