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

      百恒網絡

      南昌百恒網絡

      IOS開發之采用純Objective-C語言實現POOO模式

      百恒網絡 2017-06-03 5045

      在IOS開發中用純Objective-C語言實現的分層架構如圖1所示。之前也介紹過MyNotes工程,如圖2所示。在Xcode工程導航面板中,共有3個組,這類似于圖上一節介紹的純Swift語言實現的工程。

      使純Objective-C語言實現的分層架構圖

      純Objective-C語言實現的Xcode的工程

      下面介紹代碼部分。在dao組中,NoteDAO.h的代碼如下:

      @interface NoteDAO : NSObject

      //保存數據列表

      @property (nonatomic,strong) NSMutableArray* listData;

      + (NoteDAO*)sharedManager;

      //插入備忘錄的方法

      -(int) create:(Note*)model;

      //刪除備忘錄的方法

      -(int) remove:(Note*)model;

      //修改備忘錄的方法

      -(int) modify:(Note*)model;

      //查詢所有數據的方法

      -(NSMutableArray*) findAll;

      //按照主鍵查詢數據的方法

      -(Note*) findById:(Note*)model;

      @end

      在上述代碼中,listData屬性用于保存數據表中的數據,其中每一個元素都是Note對象。+ (NoteDAO*) sharedManager方法用于獲得NoteDAO單例對象。在dao組中,NoteDAO.m的代碼如下:

      在dao組中,NoteDAO.m的代碼一

      在dao組中,NoteDAO.m的代碼二

      NoteDAO也采用了單例設計模式來實現。

      在domain組中,Note的代碼如下,它只有兩個屬性——date是創建備忘錄的日期,content是備忘錄的內容:

      //

      //Note.h

      //

      #import

      @interface Note : NSObject

      @property(nonatomic, strong) NSDate* date;

      @property(nonatomic, strong) NSString* content;

      @end

      //

      //Note.m

      //

      #import "Note.h"

      @implementation Note

      @end

      在業務邏輯層BusinessLogicLayer中,NoteBL.h的代碼如下:

      @interface NoteBL : NSObject

      //插入備忘錄的方法

      -(NSMutableArray*) createNote:(Note*)model;

      //刪除備忘錄的方法

      -(NSMutableArray*) remove:(Note*)model;

      //查詢所有數據的方法

      -(NSMutableArray*) findAll;

      @end

      下面是NoteBL.m中的代碼:

      @implementation NoteBL

      //插入備忘錄的方法

      -(NSMutableArray*) createNote:(Note*)model

      {

      NoteDAO *dao = [NoteDAO sharedManager];

      [dao create:model];

      return [dao findAll];

      }

      //刪除備忘錄的方法

      -(NSMutableArray*) remove:(Note*)model

      {

      NoteDAO *dao = [NoteDAO sharedManager];

      [dao remove:model];

      return [dao findAll];

      }

      //查詢所有數據的方法

      -(NSMutableArray*) findAll

      {

      NoteDAO *dao = [NoteDAO sharedManager];

      return [dao findAll];

      }

      @end

      PresentationLayer是表示層,其中的內容大家應該比較熟悉了,南昌APP開發公司-百恒網絡在這里就不再多說了,想了解更多關于這方面的知識的朋友,隨時歡迎您來電和我們聯系,本公司專注于南昌APP開發具有十多年的豐富經驗,如有需要,百恒隨時為您服務!


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

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

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      久久国产精品久久久| 2020国产精品永久在线观看| 亚洲色精品三区二区一区| 无码精品前田一区二区| 亚洲中文久久精品无码1| 国产成人综合精品一区| 国产精品久久永久免费| 久久久久成人精品无码| 日本精品卡一卡2卡三卡| 久久精品夜色国产亚洲av| 亚洲日韩小电影在线观看| 国产成人精品日本亚洲网址| 国产午夜久久精品| 亚洲av永久无码精品三区在线4| 国产精品无码专区在线观看| 亚洲国产美女精品久久久| 国产精品免费大片| 免费精品国自产拍在线播放| 久久精品日韩av无码| 自怕偷自怕亚洲精品| 99热精品在线观看| 亚洲日韩精品无码AV海量| 99久久免费国产精品特黄| 久久夜色精品国产亚洲AV动态图| 亚洲日韩一区精品射精| 无码国产精品一区二区免费I6 | 精品免费久久久久国产一区| 国产成人亚洲精品91专区高清| 91久久精品电影| 无码日韩人妻精品久久蜜桃 | 四虎成人精品无码| 国产精品第100页| 久久九九AV免费精品| 精品人妻一区二区三区毛片| 国产AV一区二区精品凹凸| 久久91精品国产91| 2019国产精品| 久久66久这里精品99| 精品久久久久久国产| 成人国内精品久久久久一区| 国产精品免费看久久久香蕉|