1.缓存的问题:
这个东西好啊。但是如果细心的朋友会发现。如果同一个URL(A),在60秒内去重复请求它。你得到的数据将全部是缓存(如果使用了缓存,并使用GET方法)
原因:
一开始以为是服务器有限制。后面发现只要GET的都有这种情况,那肯定就是库里面写了一个60秒去做处理了,当然大家去跳着代码找肯定也是可以找到的。
解决:
MKNetworkKit.h 这个文件中 有以下几条定义
- #define MKNETWORKCACHE_DEFAULT_DIRECTORY @"MKNetworkKitCache"
- #define kMKNetworkKitDefaultCacheDuration 60 // 1 minute
- #define kMKNetworkKitDefaultImageHeadRequestDuration 3600*24*1 // 1 day (HEAD requests with eTag are sent only after expiry of this. Not that these are not RFC compliant, but needed for performance tuning)
- #define kMKNetworkKitDefaultImageCacheDuration 3600*24*7 // 1 day
- // if your server takes longer than 30 seconds to provide real data,
- // you should hire a better server developer.
- // on iOS (or any mobile device), 30 seconds is already considered high.
- #define kMKNetworkKitRequestTimeOutInSeconds 30
其中:
- kMKNetworkKitDefaultCacheDuration