怎么在C語言中調用Swift函數(shù)-創(chuàng)新互聯(lián)

怎么在C語言中調用Swift函數(shù)?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

創(chuàng)新互聯(lián)建站是一家專注于成都做網站、成都網站制作與策劃設計,靈臺網站建設哪家好?創(chuàng)新互聯(lián)建站做網站,專注于網站建設10年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:靈臺等地區(qū)。靈臺做網站價格咨詢:13518219792
extern void (^ __nonnull SwiftFunc)(void);
extern void CFuncTest(void);

這里聲明的全局指向void(^)(void)類型的Block的引用對象。

然后我們再看test.c源文件:

void (^SwiftFunc)(void) = NULL;

void CFuncTest(void)
{
  SwiftFunc();
}

我們定義SwiftFunc全局對象,將它初始化為空。

然后在ViewController.swift中編輯以下內容:

// 這里是對SwiftFunc的實現(xiàn)
private func swiftFuncImpl() {
  print("This is a Swift function!");
}

class ViewController: NSViewController {
  
  override func viewDidLoad() {
    super.viewDidLoad()

    // 這里對定義在test.c中的SwiftFunc進行初始化
    SwiftFunc = swiftFuncImpl

    // 這里用dispatch_async來測試SwiftFunc是否一直被hold著
    dispatch_async(dispatch_get_main_queue()) {
      
      CFuncTest()
    }
  }
}

當調用了test.c中定義的CFuncTest函數(shù)之后,該函數(shù)里將直接調用SwiftFunc這一Block引用對象,從而達到了在C語言中調用了Swift中函數(shù)的目的。

看完上述內容,你們掌握怎么在C語言中調用Swift函數(shù)的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)網站建設公司行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站muchs.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網頁標題:怎么在C語言中調用Swift函數(shù)-創(chuàng)新互聯(lián)
網址分享:http://muchs.cn/article2/dhgsoc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、響應式網站、手機網站建設、外貿建站、App開發(fā)、全網營銷推廣

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都做網站