OC引入Swift,混编

一、OC中引入Swift

最近在研究swift时候,需要实现OC与Swift混编,因此总结了以下几个步骤实现OC中引入Swift。
下面说一下详细的步骤:
1.创建一个 ''aaaa'' 的 OC 的工程。
2.创建一swift文件。


创建一个swift文件

3.创建一个名字为"LearnSwift"的swift文件。


LearnSwift.png

4.在创建的过程中会显示如下:
是否添加桥接文件

5.点击"Create Bridging Header",这时就会创建成功。(ps:一般情况下,要是OC中引入Swift的话不用创建这个桥接文件也没事)。
6.为了引入swift文件中的东西,我先在LearnSwift中创建如下两个类:
class LearnSwift :  NSObject {
    func logsth(strToLog:NSString)  {
        NSLog("年轻人我跟你说,想当年我装逼的时候你还是一滴液体");
    }
}

public class Test: NSObject {
    public func log() {
        print("这是Swift的方法")
    }
}

7.我在"ViewController.m"里面,引入如下头文件。
#import "aaaa-Swift.h"(PS:格式必须正确#import "工程名-Swift.h",我创建的''aaaa''工程)。

8.在 我的工程 -> Buid Settings -> Packaging ->Dedines Module (改为" YES ")
效果如下:


设置

9.在@implementation之前(或者在@interface之前),引用LearnSwift 里面 的类时.(PS:一般引入类是继承的NSObject)

LearnSwift *learnSwift;
Test *test;

10.在-(void)viewDidLoad { }方法里面:

- (void)viewDidLoad {
    [super viewDidLoad];

    learnSwift = [[LearnSwift alloc]init];
    [learnSwift logsth:@"asaad"];
    NSLog(@"**************************************\n");
    test = [[Test alloc]init];
    [test  log];
    NSLog(@"**************************************\n");
}

打印结果如下:


打印结果

11.在ViewControlle.m文件里面添加如下:

总体

二、Swift中引入OC

直接在桥文件里面写上需要引入的类名的 .h文件即可,如下:


Swift引入OC

参考链接 :
1.http://www.jianshu.com/p/4de0dff6c182
2.http://www.jianshu.com/p/1ca12a7a816f

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言: Swift语言出来后,可能新的项目直接使用Swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好...
    疯狂的电脑阅读 2,338评论 0 9
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,245评论 4 61
  • 1、创建一个Swift或者是OC的工程 下面以Swift工程举例,OC工程操作是一样的 创建好的时候自动生成我们熟...
    LHsunshine阅读 440评论 0 1
  • 其实,你一直都在,只是换了个地方生活。 不用再烦恼,不用再忧伤。 不用再每天疲于奔波,不用再每天惊醒于起床号角。 ...
    白小白的白阅读 245评论 0 1
  • 不是所有的爱都一往情深 不是所有的温暖都会有回答 只有留不住的沙 没有留不住的影子 岁月立在树梢数星星 被淹没在黑...
    田萍阅读 143评论 0 0