SSJNetWork
SSJNetWork copied to clipboard
对AFNetWorking 二次封装 实现自动取消网络请求,网络请求缓冲,网络请求日志详细打印(代码还有不成熟的地方,如使用请下载到本地使用,如果问题,好及时修改)
1.您的缓存过期时间属性为啥用assign修饰?有啥特别用法? /** Cache expiration time */ @property (readwrite,nonatomic, assign) NSString *cacheTimeInSeconds; CGFloat minutes = [[SSJNetWorkConfig netWorkConfig].cacheTimeInSeconds floatValue]; if (delta > 60 * minutes) {} 判断缓存是否过期的时候,又在过期时间的基础上乘以了60,如果不看源码,直接使用cacheTimeInSeconds设置过期时间,感觉这会给调用者产生歧义,其次把秒转换成分钟,应该除以60吧。把cacheTimeInSeconds定义成NSTimeInterval类型会不会更好一些? 2.- (NSError *)isCacheDataAvailableForConfig:(SSJNetworkRequestConfig *)config{}方法里面,发现缓存不正确的时候直接return了,所以结尾处的 if...
讨论个问题
- (void)ssj_dismissViewControllerAnimated: (BOOL)flag completion: (void (^ __nullable)(void))completion { [self ssj_dismissViewControllerAnimated:flag completion:completion]; [self canceledClassRequest]; } 这样都会每个页面返回后统一取消请求了,那如果是特别需求呢,返回后数据继续请求,而不要取消
代码VC声明问题
@property (nonatomic, assign) SSJHomeViewController *vc; [self.vc GET:kHomeUrl parameters:nil completion:^(NSError * _Nonnull error, id _Nonnull responseObject) { //转化成对应的模型回调 if (completion) { completion(error,responseObject); } }]; 如果vc被释放, 当前vc 会不会有内存不会被置空造成问题