干熟妇在线视频午夜剧场一级A级|99成人香视频日本两性激情视频|久久 午夜福利无码精品人妻一区|热久久超碰精品精品少妇一区二区|五月天综合在线国产一区免费视频|亚洲成人中心热re久久99|亚洲国产怡红院丁香五月综合h|玖玖九久久久午夜射精视频

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

百恒網(wǎng)絡(luò)

南昌百恒網(wǎng)絡(luò)

基于同一工作空間框架實(shí)現(xiàn)的WFSSS模式

百恒網(wǎng)絡(luò) 2017-06-09 5122

從之前所學(xué)可知使用靜態(tài)鏈接庫(kù)比較麻煩,需要給使用者提供.a和.h文件,還要配置很多環(huán)境變量?;谕还ぷ骺臻g框架實(shí)現(xiàn)的分層可以有WFSSS、WFOOO、WFSOO和WFOSS模式,接下來(lái)南昌網(wǎng)站制作公司先給大家介紹WFSSS模式。

1.創(chuàng)建框架工程

首先,創(chuàng)建一個(gè)工作空間,然后添加表示層工程到工作空間,接著創(chuàng)建數(shù)據(jù)持久層和業(yè)務(wù)邏輯層的框架工程,具體創(chuàng)建過(guò)程如下:在Xcode中選擇菜單項(xiàng)File→New→ Project…,在打開的對(duì)話框中選擇Framework& Library→Cocoa Touch Framework工程模板,如圖1所示。

創(chuàng)建框架工程

圖1 創(chuàng)建框架工程

如果我們是在工作空間中創(chuàng)建工程,創(chuàng)建過(guò)程中要選擇工作空間。如圖2所示,在Add to和Group中都選擇MyNotesWorkspace,然后點(diǎn)擊Create按鈕創(chuàng)建工程。

選擇工作空間

圖2 選擇工作空間

2.依賴關(guān)系建立

三個(gè)工程的依賴是:BusinessLogicLayer依賴于PersistenceLayer,PresentationLayer依賴于BusinessLogicLayer。BusinessLogicLayer和PersistenceLayer都是框架工程,我們需要設(shè)置BusinessLogicLayer依賴于PersistenceLayer,相對(duì)來(lái)講要比靜態(tài)鏈接庫(kù)建立依賴關(guān)系要簡(jiǎn)單得多。

首先,選擇TARGETS→BusinessLogicLayer→Build Phases→Link Binary With Libraries,如圖3所示,選擇左下角的+按鈕,然后從彈出界面中選擇PersistenceLayer.framework,再點(diǎn)擊Add按鈕,這樣依賴關(guān)系就添加好了。

添加依賴關(guān)系

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

參考上面的步驟設(shè)置PresentationLayer和BusinessLogicLayer的依賴關(guān)系。另外,框架工程還需要設(shè)置PresentationLayer和PersistenceLayer的依賴關(guān)系,最后結(jié)果如圖4所示。

添加完依賴關(guān)系

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

提示:表示層工程依賴于框架工程時(shí),需要設(shè)置業(yè)務(wù)邏輯層和數(shù)據(jù)持久層兩個(gè)依賴關(guān)系。而在靜態(tài)鏈接庫(kù)工程時(shí),表示層工程只需要與業(yè)務(wù)邏輯層建立依賴關(guān)系即可,這是因?yàn)闃I(yè)務(wù)邏輯層靜態(tài)鏈接庫(kù)文件(libBusinessLogicLayer.a)內(nèi)部已經(jīng)包含了數(shù)據(jù)持久層相關(guān)類了。

3.代碼重構(gòu)

為了適應(yīng)于在工作空間中使用框架,我們需要將10.4.1節(jié)的代碼進(jìn)行重構(gòu),這主要是修改訪問(wèn)類、方法和屬性的訪問(wèn)限定級(jí)別。

1. 重構(gòu)Note.swift

Note類的代碼如下:

Note類的代碼

我們需要為Node類添加public訪問(wèn)限定修飾符,還需要在屬性date和content中添加public訪問(wèn)限定修飾符。構(gòu)造器init也應(yīng)該是public的。

2. 重構(gòu)NoteDAO.swift

NoteClass類的代碼如下:

NoteClass類的代碼

上述代碼中,第①行的listData屬性的訪問(wèn)限定級(jí)別是默認(rèn),而不是public的。類和方法的訪問(wèn)限定級(jí)別是public。

3. 重構(gòu)NoteBL

NoteBL類的代碼如下:

NoteBL類的代碼

上述代碼中,第①行用于引入PersistenceLayer(數(shù)據(jù)持久層)模塊。如果不引入該模塊,則在PersistenceLayer框架中找不到Note類和NoteDAO類,而且這兩個(gè)類還應(yīng)該是public的。第②行代碼用于聲明默認(rèn)構(gòu)造器init的訪問(wèn)限定級(jí)別是public。

此外,在表示層PresentationLayer,也需要修改代碼import代碼:

import BusinessLogicLayer

import PersistenceLayer

想了解更多關(guān)于這方面的知識(shí)的朋友,隨時(shí)歡迎您來(lái)電和我們聯(lián)系,本公司專注于南昌APP開發(fā),具有十多年的豐富經(jīng)驗(yàn),如有需要,百恒隨時(shí)為您服務(wù)!

400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開百恒網(wǎng)絡(luò)小程序

歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
×
乌兰浩特市| 岑巩县| 安阳县| 葫芦岛市| 濮阳市| 酒泉市| 龙陵县| 陈巴尔虎旗| 大埔县| 丽江市| 漳州市| 澳门| 章丘市| 常德市| 基隆市| 深水埗区| 微博| 孟州市| 龙陵县| 高淳县| 霞浦县| 招远市| 贞丰县| 北票市| 乐亭县| 淮北市| 阿尔山市| 常山县| 阿坝县| 河西区| 永定县| 清新县| 壶关县| 阳东县| 永仁县| 神木县| 利川市| 抚远县| 溧水县| 剑河县| 娄烦县|