国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

寫給iOS小白的MVVM教程(序)

2019-11-14 18:09:53
字體:
來源:轉載
供稿:網友

這幾天,需要重構下部分代碼,這里簡要記錄下.但是涉及的技術要點還是很多,所以分為多個篇章敘述.此教程來源于,并將于應用于實踐,不做過多的概念性闡釋和爭論.每個篇章都會附上實際的可執行的代碼.因涉及的技術點,有許多探索的部分,暫定每兩天更新一個篇章.歡迎廣大iOS同行,批評指正!

教程內容,按更新順序排序

  • 從MVC到MVVM: 結合實際的例子,提出并應用一種從MVC遷移到MVVM的可行性方案.
  • 使用RestKit簡化網絡請求: 此處會結合RestKit,提出并制作一個可直接應用于代碼的網絡請求實現方案,支持自動翻頁,自動配置URL與數據模型的關聯關系等.
  • 使用MVVM模式,實現iOS122.com網站的博客閱讀: 會涉及到使用Leancloud做服務器端,使用marddown庫解析markdwon內容,一個更加實際的MVVM各技術細節的具體實現技巧.

定義良好的接口,是成功的第一步!

////  YFMVVMDelegate.h//  iOS122////  Created by 顏風 on 15/10/13.//  Copyright (c) 2015年 iOS122. All rights reserved.//#import <Foundation/Foundation.h>@PRotocol YFMVVMRequestDelegate;/** *  MVVM協議,用于規定MVVM模式的基本約定. * *  常用于約定"V",此處的V,指的是視圖的載體,或者是連接點.可以是一個View,也可以是一個控制器,或者任意NSObject對象. */@protocol YFMVVMDelegate <NSObject>@required@property (nonatomic, strong) id model; //!< 數據模型,用于表示從外部傳入的數據.@property (nonatomic, strong, readonly) id viewModel; //!< 數據模型,用于表示直接在視圖上顯示的數據模型.@optional@property (nonatomic, strong) id<YFMVVMRequestDelegate> request; //!< 網絡請求.用于聯網動態更新數據.@end/** *  用于規定MVVM中的request網絡請求的協議. */@protocol YFMVVMRequestDelegate <NSObject>@required/** *  獲取數據. * *  @param component   MVVM組件中的V部分,可以是一個View,也可以是一個控制器,或者任意NSObject對象. *  @param success     請求成功時的回調.會把視圖模型回調出去. *  @param failure     請求失敗時的回調.會把錯誤信息回調出去. */-(void) get: (id<YFMVVMDelegate>) component    success: (void (^)(id))success    failure:(void (^)(NSError *))failure;@optional/** *  重置頁碼,從頭刷新. * *  下次調用 get:success:failure 方法時,會獲取最新的數據. */-(void) reset;/** *  移動到下一頁. * *  下次調用 get:success:failure 方法時,會獲取下一頁的數據. */-(void) nextPage;@end

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 星子县| 新民市| 建宁县| 准格尔旗| 滦南县| 磴口县| 汽车| 金门县| 山西省| 宾阳县| 吐鲁番市| 墨竹工卡县| 英吉沙县| 榆林市| 怀柔区| 揭东县| 信丰县| 长丰县| 龙川县| 瑞金市| 大化| 厦门市| 甘谷县| 大渡口区| 光泽县| 剑河县| 晋中市| 宁阳县| 阳高县| 潼关县| 常德市| 理塘县| 绥江县| 祥云县| 诸城市| 台东县| 卢氏县| 张家川| 平和县| 岳西县| 许昌县|