十年專注于品牌網(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ò)

      IOS開發(fā)之采用純Objective-C語言實(shí)現(xiàn)POOO模式

      百恒網(wǎng)絡(luò) 2017-06-03 5140

      在IOS開發(fā)中用純Objective-C語言實(shí)現(xiàn)的分層架構(gòu)如圖1所示。之前也介紹過MyNotes工程,如圖2所示。在Xcode工程導(dǎo)航面板中,共有3個(gè)組,這類似于圖上一節(jié)介紹的純Swift語言實(shí)現(xiàn)的工程。

      使純Objective-C語言實(shí)現(xiàn)的分層架構(gòu)圖

      純Objective-C語言實(shí)現(xiàn)的Xcode的工程

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

      @interface NoteDAO : NSObject

      //保存數(shù)據(jù)列表

      @property (nonatomic,strong) NSMutableArray* listData;

      + (NoteDAO*)sharedManager;

      //插入備忘錄的方法

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

      //刪除備忘錄的方法

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

      //修改備忘錄的方法

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

      //查詢所有數(shù)據(jù)的方法

      -(NSMutableArray*) findAll;

      //按照主鍵查詢數(shù)據(jù)的方法

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

      @end

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

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

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

      NoteDAO也采用了單例設(shè)計(jì)模式來實(shí)現(xiàn)。

      在domain組中,Note的代碼如下,它只有兩個(gè)屬性——date是創(chuàng)建備忘錄的日期,content是備忘錄的內(nèi)容:

      //

      //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

      在業(yè)務(wù)邏輯層BusinessLogicLayer中,NoteBL.h的代碼如下:

      @interface NoteBL : NSObject

      //插入備忘錄的方法

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

      //刪除備忘錄的方法

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

      //查詢所有數(shù)據(jù)的方法

      -(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];

      }

      //查詢所有數(shù)據(jù)的方法

      -(NSMutableArray*) findAll

      {

      NoteDAO *dao = [NoteDAO sharedManager];

      return [dao findAll];

      }

      @end

      PresentationLayer是表示層,其中的內(nèi)容大家應(yīng)該比較熟悉了,南昌APP開發(fā)公司-百恒網(wǎng)絡(luò)在這里就不再多說了,想了解更多關(guān)于這方面的知識(shí)的朋友,隨時(shí)歡迎您來電和我們聯(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ù)
       
      備案專線 備案專線
       
      ×
      久久久精品国产sm调教网站| 国产午夜精品久久久久免费视| 老司机无码精品A| 久久精品亚洲一区二区三区浴池| 久久精品国产精品青草app| 香蕉伊思人在线精品| 亚洲精品视频在线观看你懂的| 亚洲美日韩Av中文字幕无码久久久妻妇| 久久久久国产精品免费免费搜索| 亚洲国产精品成人综合色在线婷婷| 国产啪亚洲国产精品无码 | 国产精品国产香蕉在线观看网| 亚洲精品视频在线免费| 久久国产精品亚洲一区二区| 国产在线观看一区精品 | 精品久久人人妻人人做精品| 亚洲av日韩av不卡在线观看| 精品综合久久久久久蜜月| 2021国内久久精品| 亚洲精品亚洲人成在线观看麻豆 | 久久久久人妻一区精品| 精品一区二区三区在线观看l | 国产精品久久久久久福利| 国产精品久久影院| 欧洲精品色在线观看| 亚洲精品乱码久久久久久中文字幕| 热综合一本伊人久久精品| 国产成人精品实拍在线| 亚洲AV永久无码精品放毛片| 91无码人妻精品一区二区三区L| 亚洲动漫精品无码av天堂| 国产午夜亚洲精品国产成人小说| 国产91在线|日韩| 国产在线精品一区在线观看| 欧美交A欧美精品喷水| 精品久久久久久久无码| 99国产精品免费视频观看| 国产精品美女久久久久| 国产综合精品久久亚洲| 国产精品玖玖美女张开腿让男人桶爽免费看 | 91精品国产色综合久久不卡蜜|