|
|
@@ -85,6 +85,57 @@ extension KingfisherWrapper where Base: KFCrossPlatformImageView {
|
|
|
return setImage(with: source, placeholder: placeholder, parsedOptions: options, progressBlock: progressBlock, completionHandler: completionHandler)
|
|
|
}
|
|
|
|
|
|
+ /// Sets an image to the image view with a `Source`.
|
|
|
+ ///
|
|
|
+ /// - Parameters:
|
|
|
+ /// - source: The `Source` object defines data information from network or a data provider.
|
|
|
+ /// - placeholder: A placeholder to show while retrieving the image from the given `resource`.
|
|
|
+ /// - options: An options set to define image setting behaviors. See `KingfisherOptionsInfo` for more.
|
|
|
+ /// - completionHandler: Called when the image retrieved and set finished.
|
|
|
+ /// - Returns: A task represents the image downloading.
|
|
|
+ ///
|
|
|
+ /// - Note:
|
|
|
+ /// This is the easiest way to use Kingfisher to boost the image setting process from a source. Since all parameters
|
|
|
+ /// have a default value except the `source`, you can set an image from a certain URL to an image view like this:
|
|
|
+ ///
|
|
|
+ /// ```
|
|
|
+ /// // Set image from a network source.
|
|
|
+ /// let url = URL(string: "https://example.com/image.png")!
|
|
|
+ /// imageView.kf.setImage(with: .network(url))
|
|
|
+ ///
|
|
|
+ /// // Or set image from a data provider.
|
|
|
+ /// let provider = LocalFileImageDataProvider(fileURL: fileURL)
|
|
|
+ /// imageView.kf.setImage(with: .provider(provider))
|
|
|
+ /// ```
|
|
|
+ ///
|
|
|
+ /// For both `.network` and `.provider` source, there are corresponding view extension methods. So the code
|
|
|
+ /// above is equivalent to:
|
|
|
+ ///
|
|
|
+ /// ```
|
|
|
+ /// imageView.kf.setImage(with: url)
|
|
|
+ /// imageView.kf.setImage(with: provider)
|
|
|
+ /// ```
|
|
|
+ ///
|
|
|
+ /// Internally, this method will use `KingfisherManager` to get the source.
|
|
|
+ /// Since this method will perform UI changes, you must call it from the main thread.
|
|
|
+ /// The `completionHandler` will be also executed in the main thread.
|
|
|
+ ///
|
|
|
+ @discardableResult
|
|
|
+ public func setImage(
|
|
|
+ with source: Source?,
|
|
|
+ placeholder: Placeholder? = nil,
|
|
|
+ options: KingfisherOptionsInfo? = nil,
|
|
|
+ completionHandler: ((Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
+ {
|
|
|
+ return setImage(
|
|
|
+ with: source,
|
|
|
+ placeholder: placeholder,
|
|
|
+ options: options,
|
|
|
+ progressBlock: nil,
|
|
|
+ completionHandler: completionHandler
|
|
|
+ )
|
|
|
+ }
|
|
|
+
|
|
|
/// Sets an image to the image view with a requested resource.
|
|
|
///
|
|
|
/// - Parameters:
|
|
|
@@ -125,6 +176,44 @@ extension KingfisherWrapper where Base: KFCrossPlatformImageView {
|
|
|
completionHandler: completionHandler)
|
|
|
}
|
|
|
|
|
|
+ /// Sets an image to the image view with a requested resource.
|
|
|
+ ///
|
|
|
+ /// - Parameters:
|
|
|
+ /// - resource: The `Resource` object contains information about the resource.
|
|
|
+ /// - placeholder: A placeholder to show while retrieving the image from the given `resource`.
|
|
|
+ /// - options: An options set to define image setting behaviors. See `KingfisherOptionsInfo` for more.
|
|
|
+ /// - completionHandler: Called when the image retrieved and set finished.
|
|
|
+ /// - Returns: A task represents the image downloading.
|
|
|
+ ///
|
|
|
+ /// - Note:
|
|
|
+ /// This is the easiest way to use Kingfisher to boost the image setting process from network. Since all parameters
|
|
|
+ /// have a default value except the `resource`, you can set an image from a certain URL to an image view like this:
|
|
|
+ ///
|
|
|
+ /// ```
|
|
|
+ /// let url = URL(string: "https://example.com/image.png")!
|
|
|
+ /// imageView.kf.setImage(with: url)
|
|
|
+ /// ```
|
|
|
+ ///
|
|
|
+ /// Internally, this method will use `KingfisherManager` to get the requested resource, from either cache
|
|
|
+ /// or network. Since this method will perform UI changes, you must call it from the main thread.
|
|
|
+ /// The `completionHandler` will be also executed in the main thread.
|
|
|
+ ///
|
|
|
+ @discardableResult
|
|
|
+ public func setImage(
|
|
|
+ with resource: Resource?,
|
|
|
+ placeholder: Placeholder? = nil,
|
|
|
+ options: KingfisherOptionsInfo? = nil,
|
|
|
+ completionHandler: ((Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
+ {
|
|
|
+ return setImage(
|
|
|
+ with: resource,
|
|
|
+ placeholder: placeholder,
|
|
|
+ options: options,
|
|
|
+ progressBlock: nil,
|
|
|
+ completionHandler: completionHandler
|
|
|
+ )
|
|
|
+ }
|
|
|
+
|
|
|
/// Sets an image to the image view with a data provider.
|
|
|
///
|
|
|
/// - Parameters:
|
|
|
@@ -156,6 +245,35 @@ extension KingfisherWrapper where Base: KFCrossPlatformImageView {
|
|
|
completionHandler: completionHandler)
|
|
|
}
|
|
|
|
|
|
+ /// Sets an image to the image view with a data provider.
|
|
|
+ ///
|
|
|
+ /// - Parameters:
|
|
|
+ /// - provider: The `ImageDataProvider` object contains information about the data.
|
|
|
+ /// - placeholder: A placeholder to show while retrieving the image from the given `resource`.
|
|
|
+ /// - options: An options set to define image setting behaviors. See `KingfisherOptionsInfo` for more.
|
|
|
+ /// - completionHandler: Called when the image retrieved and set finished.
|
|
|
+ /// - Returns: A task represents the image downloading.
|
|
|
+ ///
|
|
|
+ /// Internally, this method will use `KingfisherManager` to get the image data, from either cache
|
|
|
+ /// or the data provider. Since this method will perform UI changes, you must call it from the main thread.
|
|
|
+ /// The `completionHandler` will be also executed in the main thread.
|
|
|
+ ///
|
|
|
+ @discardableResult
|
|
|
+ public func setImage(
|
|
|
+ with provider: ImageDataProvider?,
|
|
|
+ placeholder: Placeholder? = nil,
|
|
|
+ options: KingfisherOptionsInfo? = nil,
|
|
|
+ completionHandler: ((Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask?
|
|
|
+ {
|
|
|
+ return setImage(
|
|
|
+ with: provider,
|
|
|
+ placeholder: placeholder,
|
|
|
+ options: options,
|
|
|
+ progressBlock: nil,
|
|
|
+ completionHandler: completionHandler
|
|
|
+ )
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
func setImage(
|
|
|
with source: Source?,
|