SSJNetWork icon indicating copy to clipboard operation
SSJNetWork copied to clipboard

阅读源码的过程中的一些疑问

Open snilwx opened this issue 5 years ago • 0 comments

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 (validationError) { [[SSJMemCacheDataCenter shareInstance] sj_responseRemoveObjectForKey:key]; [[SSJMemCacheDataCenter shareInstance] sj_configRemoveObjectForKey:key]; } 代码也永远都不会被执行。

3.- (void)ssj_cancelAllRequest { // 为什么不用调用 [dataTask cancel] 操作?从数组中移除,并不能说明请求被取消了 [self.requestIds removeAllObjects]; }

snilwx avatar Aug 31 '19 05:08 snilwx