此方案是swift3,現在swift4出來了,估計不適用了 ,特此聲明,最近有點忙(出軌去了) 沒法實時更新了,抱歉
一 ) OC 添加swift 文件,Swift調用OC
- 1)已有的OC項目new file 創建swift 文件
- 2)出現如下所示的彈框
ZhuRenWong-Bridging-Header
- 3)點擊
Create Bridging Header
- 4)自動生成 如下文件
Snip20160714_2.png
- 5)橋接文件中添加OC的.h文件(如上圖所示)
- 6)swift 文件中調用OC 方法 如下圖所示
Snip20160714_3.png
附代碼: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"];
}
如圖所示
OC調用Swift
- 上述方法親測都可以編譯通過.
導入ZhuRenWong-Swift.h就可以使用swift 類的原因?
答:我們創建一個類,在ZhuRenWong-Swift.h
中會生成OC對應的類,xcode為我們做了轉化,所以我們只需要導入ZhuRenWong-Swift.h
就可以引用swift中的類
詳情如下圖所示
ZhuRenWong-Swift.h
好文推薦:
在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 配置圖文教程及坑總結