Swift与OC混编

作者: 480a52903ce5 | 来源:发表于2016-06-08 00:57 被阅读292次

1.首先我们建立一个Swift项目如下图:

2.然后在建立一个SwiftTest.swift文件,这个文件是之后做OC文件调用Swift文件测试用的.

3.在这个Swift项目里面然后建立一个OC文件如下图所示(注意一定是Objective-C):

4. 接下来你会看点下面这个界面出现

看到这个界面之后,点击Create Bridging Header,创建成功,你会神奇的发现工程中多了一个 xxxx-Bridging-Header.h 这个文件, 下图所示

然后我们在Bulid Settings里面看看xxxx-Bridging-Header.h这个配置,如果出现下面这个图就完事了,就可以继续下面的配置了

接下来我们Bulid Settings 中配置Defines Module这些东西为YES即可

5. 到这里我们的所有准备工作都已经完成了, 下面是我们先测试Swift文件中调用OC文件的内容,首先我们现在xxxx-Bridging-Header.h中导入我们的"ShufTest.h",直接#import "ShufTest.h"就OK了, 先在ShufTest中设置一个属性,我们在RookieViewController.swift中打印出来:

ShufTest.m文件代码

```

- (NSString *)name{

             if (_name == nil) {

_name = @"Rookie";

}

return _name;

}

```

RookieViewController.swift文件代码

```

super.viewDidLoad(){

//  这里调用ShufTest类中的属性

let test1 = ShufTest()

print(test1.name)

}

```

下图是打印结果:

6.然后我们在ShufTest类中调用SwiftTest.swift这个类中的test方法,然后在RookieViewController.swift调用ShufTest这个类,打印出swift这个类中的test方法里的内容, * 这里先要在ShufTest.m文件中导入#import "RookieTest-swift.h",  这个文件名为 Product Name(工程名) 加 -swift.h

SwiftTest.swift中代码

```

func swiftTest(){

print("我是swift类中的方法")

}

```

ShufTest.m中代码

```

+ (void)test{

SwiftTest * test = [[SwiftTest alloc]init];

[test swiftTest];

}

```

RookieViewController.swift中代码调用

```

override func viewDidLoad() {

super.viewDidLoad()

ShufTest.test()

}

```

打印结果如下图:

例外说一下,在Swift中使用OC的三方框架,都是用Bridging - header来引入使用的.  看完点赞...😊😊😊

相关文章

  • Swift

    混编 15、OC与Swift的混编_海森堡_lichangan的博客-CSDN博客_oc swift 混编[htt...

  • oc Swift 混编

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

  • OC与Swift混编 / Mix & Match

    OC与Swift混编 / Mix & Match OC in Swift 通过Header File创建Bridg...

  • 自制Framework:swift与OC混编,自定义module

    为何要swift与oc混编 在ios开发中,swift与oc的混编,几乎是不可避免的。2014年,Apple在开发...

  • OC与Swift混编

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

  • Swift与OC混编

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

  • iOS开发之一Swift与OC混编

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

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

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

  • OC和Swift混编一

    OC工程下混编 Swift工程下混编请查看OC和Swift混编二 1.建一个OC工程命名为OCTestSwift ...

  • swift与OC混编

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

网友评论

  • 学_iOS:可以的 OC代码中混用Swift该怎么设置呢 楼主
    480a52903ce5:@学_ios 同样要建立桥接的。类似的!
  • 琪一可:请问在oc项目中混编swift: 引入头文件的时候总是报错 一般什么原因 谢谢
    480a52903ce5:@琪一可 桥连接路径不错,一般都没有问题的,你说的问题。我也没有遇到过。
    琪一可:@叫我干苦力的小码农 貌似没有好。 :fearful:
    480a52903ce5:@琪一可 路径你仔细看看。路径不错,你重启xcode就会好了
  • mashOS:很好 入门级的

本文标题:Swift与OC混编

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