最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Framework中實(shí)現(xiàn)OC和Swift的混編方案

 更新時(shí)間:2023年01月08日 14:28:51   作者:bug改不停  
這篇文章主要為大家介紹了Framework中實(shí)現(xiàn)OC和Swift的混編方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

背景:

iOS工程中實(shí)現(xiàn)的OC和Swift混編的方案和實(shí)現(xiàn)步驟已經(jīng)很多了,在此不做贅述,本篇文章需要描述的是實(shí)現(xiàn)在Framework下的混編。

解決方案:

必要的設(shè)置(Framework Target對應(yīng)的BuildSetting):

Defines Module - YES

Product Module Name - framework名稱

Install Objective-C Compatibility Header - YES

Objective-C Generated Interface Header - framework名稱-Swift

Objective-C Bridging Header - framework名稱/ProductModuleName-Bridging-Header.h(設(shè)置后編譯會報(bào)錯,后面會給出解決方案)

橋接文件-Swift調(diào)用OC時(shí)可以在該文件中添加OC頭文件

OC調(diào)用Swift:

Swift類使用@objcMembers進(jìn)行修飾,繼承自NSObject或其子類

Swift類定義

#import "ProductName/ProductModuleName-Swift.h"

一般默認(rèn)為framework的名稱

Swift調(diào)用OC:

在ProductModuleName-Bridging-Header.h文件中引入Swift需要調(diào)用的OC頭文件

在這個(gè)橋接文件里面引用你想暴露給Swift調(diào)用類的頭文件

說明:這個(gè)橋接文件需要自己手動創(chuàng)建

坑:

在OC類中引用Swift編譯之后的頭文件,必須采用"ProductName/ProductModuleName-Swift.h"方式,使用ProductModuleName-Swift.h方式,會提示找不到該文件

如果未設(shè)置Objective-C Bridging Header,引用ProductName/ProductModuleName-Swift.h頭文件之后依然無法在OC類中調(diào)用Swift類,因?yàn)樵O(shè)置Objective-C Bridging Header后,才會編譯Swift類到ProductModuleName-Swift.h中

設(shè)置Objective-C Bridging Header后Swift類被翻譯成OC類,才可以被OC調(diào)用

設(shè)置Objective-C Bridging Header后編譯報(bào)錯using bridging headers with framework targets is unsupported,解決方案就是修改ProductModuleName.h這個(gè)文件名稱為其他名稱,比如:ProductModuleNameHeader.h

這個(gè)文件改動之后可能會出現(xiàn)頭文件引用導(dǎo)致的問題,需要自己動手解決

以上就是Framework中實(shí)現(xiàn)OC和Swift的混編方案的詳細(xì)內(nèi)容,更多關(guān)于Framework OC Swift混編的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • iOS實(shí)現(xiàn)滾動字幕的動畫特效

    iOS實(shí)現(xiàn)滾動字幕的動畫特效

    這篇文章給大家?guī)硪豢顟?yīng)用非常實(shí)用的控件,滾動字幕,可以應(yīng)用在新聞、財(cái)經(jīng)、聊天等各類APP上,B格瞬間提升了一個(gè)檔次有木有,下面跟著小編一起看看如何實(shí)現(xiàn)的吧。
    2016-09-09
  • Objective-C基礎(chǔ) 自定義對象歸檔詳解及簡單實(shí)例

    Objective-C基礎(chǔ) 自定義對象歸檔詳解及簡單實(shí)例

    這篇文章主要介紹了Objective-C基礎(chǔ) 自定義對象歸檔詳解及簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Objective-C實(shí)現(xiàn)無限循環(huán)輪播器

    Objective-C實(shí)現(xiàn)無限循環(huán)輪播器

    這篇文章主要介紹了Objective-C實(shí)現(xiàn)無限循環(huán)輪播器的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • iOS仿簡書、淘寶等App的View彈出效果

    iOS仿簡書、淘寶等App的View彈出效果

    這篇文章主要為大家詳細(xì)介紹了iOS仿簡書、淘寶等App的View彈出效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • ios之UIScrollerView滾動視圖總結(jié)

    ios之UIScrollerView滾動視圖總結(jié)

    本篇文章主要介紹了ios之UIScrollerView滾動視圖總結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • iOS UIWebView實(shí)現(xiàn)禁止用戶復(fù)制剪切功能

    iOS UIWebView實(shí)現(xiàn)禁止用戶復(fù)制剪切功能

    這篇文章主要給大家介紹了iOS中的UIWebView如何實(shí)現(xiàn)禁止用戶復(fù)制剪切的功能,文中給出了詳細(xì)的示例代碼,有需要的朋友們可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11
  • IOS開發(fā)代碼分享之用nstimer實(shí)現(xiàn)倒計(jì)時(shí)功能

    IOS開發(fā)代碼分享之用nstimer實(shí)現(xiàn)倒計(jì)時(shí)功能

    在制作IOS項(xiàng)目中,我們經(jīng)常要用到倒計(jì)時(shí)功能,今天就分享下使用nstimer實(shí)現(xiàn)的倒計(jì)時(shí)功能的代碼,希望對大家能有所幫助
    2014-09-09
  • IOS Xib控件拖拽與頁面跳轉(zhuǎn)實(shí)例

    IOS Xib控件拖拽與頁面跳轉(zhuǎn)實(shí)例

    下面小編就為大家分享一篇IOS Xib控件拖拽與頁面跳轉(zhuǎn)實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 簡單好用可任意定制的iOS Popover氣泡效果

    簡單好用可任意定制的iOS Popover氣泡效果

    Popover(氣泡彈出框/彈出式氣泡/氣泡)是由一個(gè)矩形和三角箭頭組成的彈出窗口,箭頭指向的地方通常是導(dǎo)致Popover彈出的控件或區(qū)域。本文通過實(shí)例代碼給大家介紹了iOS Popover氣泡效果,需要的朋友參考下吧
    2017-12-12
  • iOS實(shí)現(xiàn)簡單的頭部縮放功能

    iOS實(shí)現(xiàn)簡單的頭部縮放功能

    這篇文章主要介紹了iOS 簡單的頭部縮放效果,頭部伴隨模糊效果放大縮小,并在一定位置時(shí)懸停充當(dāng)導(dǎo)航欄,本文給大家提供實(shí)現(xiàn)思路,需要的朋友可以參考下
    2018-08-08

最新評論

南充市| 瓦房店市| 武定县| 邳州市| 海南省| 喜德县| 永善县| 民勤县| 图木舒克市| 庆城县| 石阡县| 金堂县| 沅陵县| 将乐县| 海林市| 酉阳| 新沂市| 阿克苏市| 抚州市| 徐水县| 达日县| 简阳市| 如皋市| 呼和浩特市| 长海县| 玉树县| 南康市| 琼结县| 浦城县| 天峻县| 兴国县| 美姑县| 集贤县| 历史| 修武县| 宁夏| 金昌市| 涟水县| 汝南县| 石泉县| 东海县|