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

      百恒網絡

      南昌百恒網絡

      iOS開發之基于同一工作空間靜態鏈接庫實現的WLSOO模式

      百恒網絡 2017-06-06 5682

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

      1.使用工作空間

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

      1Xcode工作空間

      圖1Xcode工作空間

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

      2.添加數據持久層工程

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

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

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

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

      選擇要復制的頭文件

      圖2選擇要復制的頭文件

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

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

      3.建立業務邏輯層與數據持久層的依賴關系

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

      添加依賴關系

      圖4添加依賴關系

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

      添加頭文件搜索設置

      圖5添加頭文件搜索設置

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

      編譯靜態鏈接庫工程

      圖6編譯靜態鏈接庫工程

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

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

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

      #import "Note.h"

      #import "NoteDAO.h"

      #import "NoteBL.h"

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

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

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

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

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      久久天堂AV女色优精品| 精品人伦一区二区三区潘金莲| 久久精品日韩av无码| 精品久久久久久中文字幕一区| 国产精品1024永久免费视频| 久久精品国产网红主播| 日韩精品无码久久久久久| 国产成人精品手机在线观看| 中文精品人人永久免费| 丰满人妻熟妇乱又仑精品| 国产精品一香蕉国产线看观看| 日韩视频免费在线| 亚洲日韩国产欧美一区二区三区 | 久久99国产亚洲精品观看| 国产伦精品免编号公布| 国产成人精品三上悠亚久久 | 久久精品午夜福利| 亚洲精品无码永久中文字幕| 精品人妻系列无码人妻免费视频 | 午夜精品射精入后重之免费观看| 国产亚洲精品一品区99热| 国产AV午夜精品一区二区三| 久久久久久无码国产精品中文字幕 | 久久99精品久久久久久首页| 精品国产美女福利到在线不卡| 国产在线精品一区免费香蕉| 久久夜色撩人精品国产小说| 久久这里只有精品视频99| 99热成人精品热久久669| 国产揄拍国产精品| 久久99国产精品二区不卡| 久久精品国产只有精品2020| 久草精品视频在线播放| 久久久2019精品| 日韩精品无码一本二本三本| 久久棈精品久久久久久噜噜| 在线精品国产一区二区| 日本尤物精品视频在线看| 中文字幕无码精品亚洲资源网久久| 亚洲国产精品无码久久九九大片| 人妻少妇精品无码专区动漫 |