The library comes with a concrete type, NetworkImageResource
, which represents a simple image resource.
To retrieve an image, first create and NetworkImageResource
with the relevant URL
:
let imageURL = URL(string: "http://www.theappbusiness.com/apple-touch-icon-180x180.png")!
let imageResource = NetworkImageResource(url: imageURL)
Either
Use a NetworkDataResourceService
directly:
let networkService = NetworkDataResourceService()
networkService.fetch(resource: imageResource) { (result) in
if case let .success(image, _) = result {
// Do something with the image. If using UIKit remember to dispatch to the main thread.
}
}
OR
Use a ResourceOperation
with GenericNetworkDataResourceService
:
Optionally create a typealias of NetworkImageResourceOperation
typealias NetworkImageResourceOperation = ResourceOperation<GenericNetworkDataResourceService<NetworkImageResource>>
let operationQueue = OperationQueue()
let imageOperation = NetworkImageResourceOperation(resource: imageResource) { operation, result in
if case let .success(image, _) = result {
// Do something with the image. If using UIKit remember to dispatch to the main thread.
}
}
operationQueue.addOperation(imageOperation)