此方案是swift3,现在swift4出来了,估计不适用了 ,特此声明,最近有点忙(出轨去了) 没法实时更新了,抱歉
一 ) OC 添加swift 文件,Swift调用OC
- 1)已有的OC项目new file 创建swift 文件
- 2)出现如下所示的弹框
ZhuRenWong-Bridging-Header
- 3)点击
Create Bridging Header
- 4)自动生成 如下文件
- 5)桥接文件中添加OC的.h文件(如上图所示)
- 6)swift 文件中调用OC 方法 如下图所示
附代码:swift调用OC
//
// test.swift
// ZhuRenWong
//
// Created by HLH on 16/7/14.
// Copyright © 2016年 qitian. All rights reserved.
//
import Foundation
class learnSwift : NSObject{
func logStr(str:String){
NSLog("这是一swift 的log:%@", str)
let qtcom = QTCommonTools()
qtcom.showAlert("henhao");
}
}
二) OC中调用Swift 方法
- 在OC 文件中引入头文件
#import "ZhuRenWong-Swift.h"
其中ZhuRenWong
是项目的名称,后面的-Swift.h
是固定的写法 - 写OC的代码
创建对象
#import "ZhuRenWong-Swift.h"
- (void)testSwift{
//learnSwift 是Swift类
learnSwift * learnS = [[learnSwift alloc] init];
[learnS logStr:@"code from oc"];
}
如图所示
- 上述方法亲测都可以编译通过.
导入ZhuRenWong-Swift.h就可以使用swift 类的原因?
答:我们创建一个类,在ZhuRenWong-Swift.h
中会生成OC对应的类,xcode为我们做了转化,所以我们只需要导入ZhuRenWong-Swift.h
就可以引用swift中的类
详情如下图所示
好文推荐:
在oc项目中添加swift文件,并设置oc-swift混编
- 作者开发经验总结的文章推荐,持续更新学习心得笔记
Runtime 10种用法(没有比这更全的了)
成为iOS顶尖高手,你必须来这里(这里有最好的开源项目和文章)
iOS逆向Reveal查看任意app 的界面
JSPatch (实时修复App Store bug)学习(一)
iOS 高级工程师是怎么进阶的(补充版20+点)
扩大按钮(UIButton)点击范围(随意方向扩展哦)
最简单的免证书真机调试(原创)
通过分析微信app,学学如何使用@2x,@3x图片
TableView之MVVM与MVC之对比
使用MVVM减少控制器代码实战(减少56%)
ReactiveCocoa添加cocoapods 配置图文教程及坑总结