Swift與Objective-C混合搭配在南昌APP開(kāi)發(fā)中采用得是比較多的,這是因?yàn)楹芏嗬习姹镜捻?xiàng)目還是使用Objective-C開(kāi)發(fā)的。為了更大可能地利用老版本的代碼,可以把基于Objective-C編寫(xiě)的業(yè)務(wù)邏輯層和數(shù)據(jù)持久層復(fù)用。由于iOS每次升級(jí),表示層的API變化都很大,所以表示層一般很難復(fù)用,可以采用Swift語(yǔ)言重構(gòu)。
采用Swift與Objective-C混合搭配的分層架構(gòu)如圖1所示。MyNotes工程,如圖2所示,在Xcode工程導(dǎo)航面板中,共有3個(gè)組——PresentationLayer、BusinessLogicLayer和PersistenceLayer, PresentationLayer 使用的語(yǔ)言是Swift,BusinessLogicLayer和PersistenceLayer使用的語(yǔ)言是Objective-C。
Swift調(diào)用Objective-C對(duì)象時(shí),需要添加橋接頭文件MyNotes-Bridging-Header.h,該文件的內(nèi)容如下:
#import "Note.h"
#import "NoteDAO.h"
#import "NoteBL.h"
在橋接頭文件中引入頭文件,是在Swift代碼中調(diào)用Objective-C對(duì)象所需要的頭文件。關(guān)于具體的調(diào)用實(shí)現(xiàn),感興趣的朋友可來(lái)電咨詢百恒網(wǎng)絡(luò),百恒網(wǎng)絡(luò)作為優(yōu)秀的南昌APP開(kāi)發(fā)公司之一,精通各種APP開(kāi)發(fā)技術(shù),如有需要,百恒網(wǎng)絡(luò)隨時(shí)為您效勞!