當(dāng)在項目中同時使用swift 和 object-c 進(jìn)行編程的時候睹酌,需要做一些操作。
1.swift 調(diào)用 oc
在Swfit代碼中添加OC文件的時候采盒,需要依賴一個bridging header文件鸽疾,Xcode會在你新建一個OC文件的時候自動幫你創(chuàng)建(項目是使用Swift語言創(chuàng)建的),點擊Creat Bridging Header测蘑,Xocde就會在新建OC文件的同時幫我們新建一個 xxx-Bridging-Header.h
文件灌危,xxx是你的項目名稱(Product Module),然后我們得編輯這個文件才能讓Swfit代碼調(diào)用OC代碼
在項目的xxx-Bridging-Header.h文件里碳胳,添加需要在Swift里調(diào)用的OC文件勇蝙,然后就可以在Swfit代碼中調(diào)用了
在項目的 Build Settings 選項里,要確保Swift Compiler選項里有這個Bridging Header文件的設(shè)置挨约,路徑必須指向文件本身味混,而不是目錄。
在swift文件中诫惭,
oc調(diào)用swift的方法:
1翁锡、首先設(shè)置一下Packing
進(jìn)入TARGETS ->Build Settings -> Packaging 中
設(shè)置Defines Module為YES
設(shè)置 Product Module Name (這個也可以不設(shè)置,直接使用默認(rèn)就行)
如圖:
2夕土、設(shè)置完之后馆衔,在需要引用的oc文件頭部 import一下,格式為: #import "工程名-Swift.h"
比如:#import "OrderSystem-Swift.h"
2.在oc中調(diào)用swift
當(dāng)在OC里調(diào)用Swift中的代碼時,需要依賴一個xcode自動生成的頭文件哈踱,這個自動生成的頭文件定義了項目中所有的Swift文件荒适,這個頭文件的命名為 “xxx-Swift.h” ,xxx為項目的名稱开镣,此外就不需要再做任何事情了刀诬,你只需要在OC代碼里導(dǎo)入這么一個文件,就可以跟沒事一樣拿任意一個Swift中的代碼用了