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

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

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

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

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

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

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

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

      創(chuàng)建框架工程

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

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

      選擇工作空間

      圖2 選擇工作空間

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

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

      首先,選擇TARGETS→BusinessLogicLayer→Build Phases→Link Binary With Libraries,如圖3所示,選擇左下角的+按鈕,然后從彈出界面中選擇PersistenceLayer.framework,再點擊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è)置業(yè)務(wù)邏輯層和數(shù)據(jù)持久層兩個依賴關(guān)系。而在靜態(tài)鏈接庫工程時,表示層工程只需要與業(yè)務(wù)邏輯層建立依賴關(guān)系即可,這是因為業(yè)務(wù)邏輯層靜態(tài)鏈接庫文件(libBusinessLogicLayer.a)內(nèi)部已經(jīng)包含了數(shù)據(jù)持久層相關(guān)類了。

      3.代碼重構(gòu)

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

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

      Note類的代碼如下:

      Note類的代碼

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

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

      NoteClass類的代碼如下:

      NoteClass類的代碼

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

      3. 重構(gòu)NoteBL

      NoteBL類的代碼如下:

      NoteBL類的代碼

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

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

      import BusinessLogicLayer

      import PersistenceLayer

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

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

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

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務(wù) 售后服務(wù)
       
      售后服務(wù) 售后服務(wù)
       
      備案專線 備案專線
       
      ×
      久久久亚洲精品蜜桃臀 | 2021国产精品自产拍在线观看| 久久99精品国产99久久6| 日韩视频一区二区在线观看| 国产精品一区二区三区久久| 99re热久久这里只有精品首页| 久久久国产精品亚洲一区| 久久夜色精品国产亚洲| 亚洲精品综合久久| 免费看一级毛片在线观看精品视频 | 国模吧一区二区三区精品视频| 免费精品国产自产拍在线观看图片| 99热精品国产三级在线观看| 久久久久久国产精品免费免费男同| 国产精品熟女一区二区| 精品在线免费观看| 柠檬福利精品视频导航| 久久99国产精品久久99| 久久精品国产91久久综合麻豆自制| 亚洲精品少妇30p| 精品精品国产高清a毛片牛牛| 精品aⅴ一区二区三区| 亚洲精品无码乱码成人| 在线观看国产精品日韩av| 91精品国产高清久久久久久io| 国产在线精品一区二区高清不卡 | 精品乱人伦一区二区| 日韩高清中文字幕| 国产精品亚洲精品日韩动图| 亚洲日韩欧洲无码av夜夜摸| 日韩在线观看视频黄| 2021日韩麻豆| 日本国产精品久久| 亚洲午夜福利精品无码| 国产vA免费精品高清在线观看| 亚洲精品视频久久久| 日本精品一区二区三区在线视频| 九九在线观看精品视频6| 国产精品 一区 在线| 精品国产呦系列在线观看免费 | 亚洲国产精品精华液|