国产精品无码av有声小说-天堂av2024-久久国产剧情-午夜视频一区-国内自拍xxxx18-男女啪啪免费-在线国产福利-中文字幕在线三区-天天艹日日干-色眯眯视频-天天干天天操天天爱-性欧美丰满熟妇xxxx性久久久-精品国产一区二区在线-污视频网站免费在线观看-98久久久-日日夜夜爽爽-乌克兰性欧美精品高清

歡迎來到酷云建站平臺(tái),全網(wǎng)營銷云系統(tǒng)加盟中心!

海量企業(yè)網(wǎng)站模板 · 任您選擇

美出特色,精出品質(zhì),一切為了企業(yè)更好的營銷

隱藏側(cè)欄
Beta
轉(zhuǎn)載

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

       APP開發(fā)     2021-12-16     admin     31     0    

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

1.使用工作空間

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

1Xcode工作空間

圖1Xcode工作空間

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

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

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

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

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

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

選擇要復(fù)制的頭文件

圖2選擇要復(fù)制的頭文件

拖曳復(fù)制的頭文件到Public欄中

圖3拖曳復(fù)制的頭文件到Public欄中

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

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

添加依賴關(guān)系

圖4添加依賴關(guān)系

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

添加頭文件搜索設(shè)置

圖5添加頭文件搜索設(shè)置

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

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

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

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

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

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

#import 'Note.h'

#import 'NoteDAO.h'

#import 'NoteBL.h'

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


--結(jié)束END--

本文鏈接: http://www.sh-linbin.cn/appkf/2383.html (轉(zhuǎn)載時(shí)請(qǐng)注明來源鏈接)

 
本文標(biāo)簽: 全部

下班PC閱讀不方便?

手機(jī)也可以隨時(shí)學(xué)習(xí)開發(fā)

微信關(guān)注公眾號(hào)“酷云”
"酷云平臺(tái)前端開發(fā)教學(xué)"
每日干貨技術(shù)分享
 

×

成為 酷云平臺(tái) 代理商!

關(guān)注

微信
關(guān)注

微信掃一掃
獲取最新優(yōu)惠信息

酷云平臺(tái)公眾號(hào)

客服

聯(lián)系
客服

很高興為您服務(wù)
尊敬的用戶,歡迎您咨詢,我們?yōu)樾掠脩魷?zhǔn)備了優(yōu)惠好禮。 咨詢客服

聯(lián)系客服:

在線QQ: 3206174

客服電話: 0516-83703228

售前咨詢 售后服務(wù)
在線交談 智能小云

工作時(shí)間:

周一至周五: 09:00 - 17:00

WAP

手機(jī)
訪問

移動(dòng)端訪問
手機(jī)上也能選模板

酷云平臺(tái)手機(jī)端

扶余县| 大厂| 山西省| 马公市| 肇庆市| 铅山县| 岱山县| 上饶市| 萨迦县| 建水县| 岢岚县| 济源市| 桑日县| 天水市| 饶河县| 民县| 大竹县| 贡嘎县| 柳河县| 青阳县| 黔西县| 于都县| 贞丰县| 三江| 天镇县| 盱眙县| 武鸣县| 衢州市| 黔江区| 富源县| 揭阳市| 罗甸县| 新晃| 榕江县| 德保县| 保康县| 出国| 金寨县| 阿克苏市| 白沙| 赫章县|