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