动态

详情 返回 返回

oc與swift文件的相互調用方式——橋接 - 动态 详情

一、設置橋接文件

不管是objective-c調用swift,還是swift調用objective-c,都需要創建橋接文件,通過橋接文件實現兩者的相互調用。
當我們引入oc或者swift進入另一個語言的項目的時候系統會提示是否自動創建橋接文件,此時可直接創建。
但除此之外我們也可以選擇手動創建。此時需要我們在新建文件裏選擇Header File,點擊確認創建橋接文件,橋接文件名字一般為:ProjectName-Bridging-Header.h。然後在Build settings裏搜索bridging,找到Objective-C Bridging Header的選項,將該文件的路徑填寫進去,或者直接拉入。這裏的路徑最好選擇相對路徑的形式(ProjectName/BridgingFileName.h)。
ProjectName為你項目的項目名,BridgingFileName為橋接文件的名字。

二、橋接方法

oc項目調用swift文件

oc項目針對swift文件會自動創建ProjectName-Swift.h文件,該文件不需要我們去做更改,所以當我們設置完橋接文件之後,只需要在要調用的文件處import該頭文件即可,即:import <ProjectName-Swift.h>,其中ProjectName為該項目的工程名。引入該頭文件後,即可調用Swift對應的類和方法。

注意點:引入的swift文件需要調用的類和方法需要進行修飾,然後oc項目才能調用。可使用@objcMembers直接修飾類,或者也可以使用@objc分別修飾想要調用給oc的方法和屬性,然後oc項目就可調用swift的相關方法了。

swift項目調用oc文件

swift項目調用oc文件更為簡單,只需要將oc類的頭文件導入橋接文件即可,需要調用哪個oc文件就import哪個頭文件(#import "ClassName.h")進去。
swift項目調用oc的類和方法不需要引入頭文件,所以設置完之後可以直接在swift中直接調用oc方法。

注意點:需要被調用的oc文件的方法需要寫在.h文件裏進行方法聲明(廢話)。

user avatar ireashare 头像 sue0604 头像 u_15878077 头像 aitaokedemugua 头像 jianqiu 头像 savo_shen 头像 shu_5b5b4cde7027a 头像 junxiudedoujiang 头像 alixitongruanjianjishu 头像 swiftcommunity 头像 slnongchang 头像 gddg 头像
点赞 15 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.