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

      百恒網絡

      南昌百恒網絡

      基于同一工作空間框架實現的WFSSS模式

      百恒網絡 2017-06-09 5137

      從之前所學可知使用靜態鏈接庫比較麻煩,需要給使用者提供.a和.h文件,還要配置很多環境變量。基于同一工作空間框架實現的分層可以有WFSSS、WFOOO、WFSOO和WFOSS模式,接下來南昌網站制作公司先給大家介紹WFSSS模式。

      1.創建框架工程

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

      創建框架工程

      圖1 創建框架工程

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

      選擇工作空間

      圖2 選擇工作空間

      2.依賴關系建立

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

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

      添加依賴關系

      圖3 添加依賴關系

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

      添加完依賴關系

      圖4 添加完依賴關系

      提示:表示層工程依賴于框架工程時,需要設置業務邏輯層和數據持久層兩個依賴關系。而在靜態鏈接庫工程時,表示層工程只需要與業務邏輯層建立依賴關系即可,這是因為業務邏輯層靜態鏈接庫文件(libBusinessLogicLayer.a)內部已經包含了數據持久層相關類了。

      3.代碼重構

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

      1. 重構Note.swift

      Note類的代碼如下:

      Note類的代碼

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

      2. 重構NoteDAO.swift

      NoteClass類的代碼如下:

      NoteClass類的代碼

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

      3. 重構NoteBL

      NoteBL類的代碼如下:

      NoteBL類的代碼

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

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

      import BusinessLogicLayer

      import PersistenceLayer

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

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

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

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      国产福利91精品一区二区| 国产精品久久久亚洲| 国产精品久久久久影院| 日日夜夜精品视频| 亚洲自偷精品视频自拍| 亚洲国产精品久久久久婷婷软件 | 91精品美女在线| 国产成人久久精品二区三区| 精品日韩一区二区三区视频| 亚洲日韩人妻第一页| 日韩毛片在线免费观看| 国产成人精品动图| 国产精品乱码在线观看| 国产精品亚洲一区二区三区| 精品国产杨幂在线观看| 精品国产一区在线观看| 热99re久久免费视精品频软件| 久久亚洲精品无码av| 亚洲国产精品无码观看久久| 无码人妻精品一区二区三区蜜桃 | 久久频这里精品99香蕉久| 国产精品吹潮香蕉在线观看| 精品国产yw在线观看| 五月天婷婷精品视频| 国产精品久久久久aaaa| 久久久精品久久久久三级| 久久人人做人人玩人精品| 99热门精品一区二区三区无码| 99精品国产一区二区三区2021| 国产成人精品日本亚洲直接| 国产精品天天影视久久综合网| 91精品免费国产高清在线| 69久久精品无码一区二区| 亚洲综合精品伊人久久| 久久精品网站免费观看| 9999国产精品欧美久久久久久| 国内精品视频一区二区三区八戒| 精品国产福利在线观看91啪| 国产成人精品动图| 亚洲AV日韩AV永久无码下载| 日韩国产有码在线观看视频|