Created
October 23, 2017 06:50
-
-
Save kikohz/d626881b82bc39971a89ca922143d6f4 to your computer and use it in GitHub Desktop.
swift网络请求使用缓存
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create a shared URL cache | |
let memoryCapacity = 500 * 1024 * 1024; // 500 MB | |
let diskCapacity = 500 * 1024 * 1024; // 500 MB | |
let cache = NSURLCache(memoryCapacity: memoryCapacity, diskCapacity: diskCapacity, diskPath: "shared_cache") | |
// Create a custom configuration | |
let configuration = NSURLSessionConfiguration.defaultSessionConfiguration() | |
var defaultHeaders = Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders | |
configuration.HTTPAdditionalHeaders = defaultHeaders | |
configuration.requestCachePolicy = .UseProtocolCachePolicy // this is the default | |
configuration.URLCache = cache | |
// Create your own manager instance that uses your custom configuration | |
let manager = Alamofire.Manager(configuration: configuration) | |
// Make your request with your custom manager that is caching your requests by default | |
manager.request(.GET, "http://httpbin.org/get", parameters: ["foo": "bar"], encoding: .URL) | |
.response { (request, response, data, error) in | |
println(request) | |
println(response) | |
println(error) | |
// Now parse the data using SwiftyJSON | |
// This will come from your custom cache if it is not expired, | |
// and from the network if it is expired | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment