一、網絡請求應該建一個請求model 根據http://www.cocoachina.com/ios/20160509/16146.html整理html
@interface YAAPIBaseRequestDataModel : NSObject /** * 網絡請求參數 */ @property (nonatomic, strong) NSString *apiMethodPath; //網絡請求地址 @property (nonatomic, assign) YAServiceType serviceType; //服務器標識 @property (nonatomic, strong) NSDictionary *parameters; //請求參數 @property (nonatomic, assign) YAAPIManagerRequestType requestType; //網絡請求方式 @property (nonatomic, copy) CompletionDataBlock responseBlock; //請求着陸回調 // upload // upload file @property (nonatomic, strong) NSString *dataFilePath; @property (nonatomic, strong) NSString *dataName; @property (nonatomic, strong) NSString *fileName; @property (nonatomic, strong) NSString *mimeType; // download // download file // progressBlock @property (nonatomic, copy) ProgressBlock uploadProgressBlock; @property (nonatomic, copy) ProgressBlock downloadProgressBlock; @end
好處:一、能夠看出來RequestDataModel屬性都是網絡請求發起和返回的必要參數,這樣作的好處真的是太大了,不知道你們有沒有這樣的場景:由於請求參 數的不一樣作了好多方法接口暴露出去,最後調起的仍是同一個方法,並且一旦方法寫的多了,最後連應該調用哪一個方法都不知道了。 ios
二、另外RequestDataModel帶來的另一個好處就是高擴展性,你有沒有遇到網絡層須要添加刪除一個參數致使調用方法修改了,而後不少地方都要修 改方法?用RequestDataModel只須要添加刪除參數就好了,只須要改方法體,這個改方法體和同時改方法名方法體是徹底兩個工做量服務器