iOS混编之--OC调用Swift

作者: 遛遛食 | 来源:发表于2017-06-04 21:20 被阅读4630次

如果我们的工程是OC创建的这时候想要使用Swift写的一个第三方,这时候就要使用混编了,当我们创建Swift类的时候会有一个提示,问我们要不要创建一个桥接头文件,一般选择为创建

询问是否创建桥接头文件

创建后工程中就会有一个桥接的头文件

桥接的头文件

然后随意在Swift文件中写一个函数

import UIKit

class SwiftClass: NSObject {
    func sayHello(name :String) -> String {
        return name + "sayHello";
    }
}

在OC类里面调用Swift的方法首先要配置一下工程,在“Build Setting”->"Product Module Name"中添加工程名

工程配置

重点:在要调用Swift的方法的类中引入

import "工程名-Swift.h"

引入这个类就引入了所有的Swift类
然后就可以调用Swift里面的方法了

#import "ViewController.h"
//引入这个类就引入了所有的Swift类
#import "OCdiaoSwift-Swift.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
 
    SwiftClass *sc = [[SwiftClass alloc] init];
    //系统已经把Swift方法转化为了OC方法
    NSString *str = [sc sayHelloWithName:@"CF"];
    NSLog(@"%@",str);
}
结果显示

多说一句:
凡是用Swift写的类,如果不继成自NSObject或NSObject 的派生类,哪么编译后将不会生成对应的转换类。从而使得OC 中找不到相应的声明。
我们可以进去看一下我们包含的“工程名-Swift.h”
可以看到苹果是怎么做的,是自动生成了对应的OC代码


相关文章

  • iOS开发中 OC与Swift混编

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

  • oc Swift 混编

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

  • Swift-Basic Learning

    1. Siwft与OC混编 OC调用SWIfFT SWIfFT调用OC 2. Swift用cocoapods管理...

  • iOS混编之--Swift调用OC

    Swift创建的工程想要调用OC是相对比较容易的,只需在桥接文件中导入想要调用的OC类即可。 当在Swift工程中...

  • iOS混编之--OC调用Swift

    如果我们的工程是OC创建的这时候想要使用Swift写的一个第三方,这时候就要使用混编了,当我们创建Swift类的时...

  • OC与Swift混编

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

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

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

  • Swift与OC混编

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

  • Swift与OC混编过程中的配置

    级别: ★★☆☆☆标签:「iOS」「Swift 」「Swift与OC混编」作者: dac_1033审校: QiSh...

  • Swift与OC、C++混编

    Swift与OC混编 Swift工程中调用OC代码 不需要在Swift中import OC的类,统一在桥接文件中导...

网友评论

    本文标题:iOS混编之--OC调用Swift

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