欧美亚洲大片-国产免费成人在线视频-国产成人8x人在线视频软件-日韩亚洲欧美中文字幕-97伦伦午夜电影理伦片-亚洲综合精品视频-曰本女人牲交高潮视频-久久久精品欧美-天天干天天操天天碰-精品国产乱码久久久久久1区2区-黄色一级免费片-在线免费欧美-国产成人精品在线视频-精人妻一区二区三区-香蕉视频2020-综合久久99-欧美日韩亚洲国产综合

十年專注于品牌網(wǎng)站建設 十余年專注于網(wǎng)站建設_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡微信公眾號 掃一掃關注
小程序
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒網(wǎng)絡微信公眾號
掃一掃打開百恒網(wǎng)絡微信小程序

百恒網(wǎng)絡

南昌百恒網(wǎng)絡

iOS開發(fā)之基于同一工作空間靜態(tài)鏈接庫實現(xiàn)的WLSOO模式

百恒網(wǎng)絡 2017-06-06 6252

基于同一工作空間靜態(tài)鏈接庫實現(xiàn)的分層可以有WLOOO和WLSOO模式,南昌APP開發(fā)公司小編簡要介紹一下WLSOO模式。

1.使用工作空間

工作空間是多個工程的集合,我們可以把3個不同的層放置在不同的工程中,然后再把這3個工程放置到一個工作空間中。打開本節(jié)案例代碼MyNotesWorkspace文件夾,再打開MyNotesWorkspace.xcworkspace文件,(.xcworkspace文件是工作空間文件),如圖1所示。

1Xcode工作空間

圖1Xcode工作空間

它們之間的依賴關系是:BusinessLogicLayer依賴于PersistenceLayer,PresentationLayer依賴于BusinessLogicLayer和PersistenceLayer,因此創(chuàng)建順序應該是PresentationLayer→BusinessLogicLayer→PersistenceLayer。

2.添加數(shù)據(jù)持久層工程

數(shù)據(jù)持久層工程PersistenceLayer是靜態(tài)鏈接庫工程。找到本書提供的PersistenceLayer(位于MyNotesWorkspace的 PersistenceLayer目錄下),添加靜態(tài)鏈接庫的過程是:在Xcode導航面板的右鍵菜單中選擇Add Fileto“MyNotesWorkspace”...,接著在彈出的對話框中選擇PersistenceLayer.xcodeproj文件,然后就可以將工程添加到工作空間了。

靜態(tài)鏈接庫提供給使用者的文件是.a文件和.h文件,前者是編譯之后的靜態(tài)鏈接庫文件,后者是要調(diào)用對象的頭文件。

.h文件在編譯時會復制到產(chǎn)品發(fā)布目錄下,具體設置如下:打開PersistenceLayer工程,選擇TARGETS→PersistenceLayer→Build Phases,然后再選擇Editor→Add Build Phase→Add Headers Build Phase菜單項即可。此時會打開復制頭文件窗口,選擇圖2中的+按鈕,從彈出界面中選擇要復制的頭文件,再點擊Add按鈕即可添加。

接著用鼠標將復制的頭文件從Project欄拖曳至Public欄中,如圖3所示。Public欄中.h文件可以被其他工程訪問,在應用編譯的時候可以復制到產(chǎn)品發(fā)布目錄。

選擇要復制的頭文件

圖2選擇要復制的頭文件

拖曳復制的頭文件到Public欄中

圖3拖曳復制的頭文件到Public欄中

3.建立業(yè)務邏輯層與數(shù)據(jù)持久層的依賴關系

BusinessLogicLayer工程也是靜態(tài)鏈接工程,其創(chuàng)建過程和復制頭文件等設定都與PersistenceLayer工程類似,不同的是 BusinessLogicLayer 依賴于PersistenceLayer 。打開 BusinessLogicLayer 工程,選擇 TARGETS→BusinessLogicLayer→Build Phases→Link Binary With Libraries,如圖4所示,點擊左下角的+按鈕,然后從彈出界面中選擇libPersistenceLayer.a,再點擊Add按鈕,這樣依賴關系就添加好了。

添加依賴關系

圖4添加依賴關系

此外,還要添加頭文件搜索設置,南昌APP開發(fā)公司的具體操作方法是:打開BusinessLogicLayer工程,選擇TARGETS→BusinessLogicLayer→Build Settings→Search Paths→User Header Search Paths,如圖5所示,在彈出的對話框中,添加$(BUILT_PRODUCTS_DIR),并選擇recursive,其中$(BUILT_PRODUCTS_DIR)是宏,表示產(chǎn)品發(fā)布目錄,recursive表示遞歸添加目錄路徑。

添加頭文件搜索設置

圖5添加頭文件搜索設置

設置完成后,可以編譯一下BusinessLogicLayer工程,具體步驟是,如圖6所示,選擇運行的模擬器,然后通過快捷鍵command+B,或通過Product→Build菜單項進行編譯。

編譯靜態(tài)鏈接庫工程

圖6編譯靜態(tài)鏈接庫工程

4.建立表示層與業(yè)務邏輯層的依賴關系

PresentationLayer不是靜態(tài)鏈接工程,需要與BusinessLogicLayer和PersistenceLayer建立依賴關系,具體的操作方法可參考BusinessLogicLayer工程。添加頭文件搜索設置的具體方法,也可以參考BusinessLogicLayer工程。完成后的工作空間如圖1所示。

由于表示層用Swift實現(xiàn),業(yè)務邏輯層用Objective-C實現(xiàn),所以Swift調(diào)用Objective-C時,需要添加橋接頭文件Presentation- Layer-Bridging-Header.h,該文件的內(nèi)容如下:

#import "Note.h"

#import "NoteDAO.h"

#import "NoteBL.h"

注意:如果BusinessLogicLayer和PersistenceLayer工程中有內(nèi)容要修改,因為不會自動編譯,需要先選擇菜單項Product→Clean清除一下再編譯。但是,有時候會報出找不到一些頭文件的編譯錯誤,這種情況下請多次執(zhí)行清除操作再編譯。

以上就是百恒網(wǎng)絡為大家講解的關于iOS開發(fā)的wlsoo模式,了解更多南昌APP開發(fā)技術資訊,歡迎來電咨詢百恒網(wǎng)絡,或者訪問公司官網(wǎng)查看更多技術文章,網(wǎng)址:http://m.zdzcgkos.cn/

400-680-9298,0791-88117053
掃一掃關注百恒網(wǎng)絡微信公眾號
掃一掃打開百恒網(wǎng)絡小程序

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
售后服務 售后服務
 
備案專線 備案專線
 
×
通渭县| 简阳市| 静安区| 瑞安市| 准格尔旗| 桃园市| 舟山市| 永年县| 鄯善县| 沁水县| 新安县| 尼勒克县| 南宁市| 游戏| 日照市| 平南县| 波密县| 新竹县| 瑞安市| 三门峡市| 陇西县| 五峰| 青海省| 车致| 昭苏县| 太保市| 开鲁县| 饶河县| 杨浦区| 木兰县| 鸡东县| 铁岭县| 乌兰浩特市| 侯马市| 正镶白旗| 博罗县| 和硕县| 大关县| 神农架林区| 通海县| 分宜县|