OC/Swift/C/C++混合使用的程式設計姿勢

滴水微瀾發表於2018-04-22
一,OC呼叫C語言方法
1.OC中的.m檔案對C語言完全相容,可以直接匯入C標頭檔案,進行使用
2.定義一個.c的C語言檔案,在.m檔案中匯入,就可以使用。
 
二,OC呼叫C++語言方法
1.需要將.m檔案後面再加一個m,改成.mm檔案,.mm檔案對C/C++完全相容,匯入C/C++標頭檔案就可以使用
2.定義一個.cpp的C++檔案,在.mm檔案中匯入就可以使用了。
 
 
三,C++呼叫OC語言方法
1.在定義的OC類中,若想讓C++檔案成功進入OC檔案,就需要將OC類的.h檔案中涉及到OC中的方法全部刪掉。然後在.h檔案中定義C/C++語言的方法名。在.mm檔案中可以用OC/C/C++語言來實現。
 
 
四,swift呼叫C語言方法
swift語言無法直接使用C語言方法,需要通過橋接標頭檔案使用。
1.在swift工程下建立一個C檔案同時生成bridging-header橋接標頭檔案。
2.在C語言.h檔案中宣告方法名,在.c檔案中實現方法,在橋接檔案中匯入C語言檔案#include “a.h”
3.在swift檔案中使用
 
五,swift呼叫C++語言方法
1.在swift工程下建立一個OC檔案同時生成bridging-header橋接標頭檔案。
2.在OC語言.h檔案中宣告方法名,在.mm檔案中實現方法,在橋接檔案中匯入C語言檔案#include “a.h”
3.在swift檔案中使用
 
 
六,bridging-header橋接標頭檔案說明
bridging-header橋接標頭檔案的作用是讓swift語言執行oc語言的方法的。
所以裡面是oc類的引入#include “oc.h”
同時系統也會建立一個不可見的橋接檔案供oc呼叫swift語言的方法。
這個橋接檔案是:工程名-Swift.h。
可以通過在oc類中匯入這個標頭檔案,使用swift類中的方法(現在不匯入這個檔案也可以使用,估計是Xcode做了優化)。

相關文章