ソースを参照

Merge pull request #470 from onevcat/fix/mutable-wrapper

Use class for kf wrapper
Wei Wang 9 年 前
コミット
69122233c2
3 ファイル変更5 行追加12 行削除
  1. 2 2
      Sources/Image.swift
  2. 2 8
      Sources/ImageView+Kingfisher.swift
  3. 1 2
      Sources/Kingfisher.swift

+ 2 - 2
Sources/Image.swift

@@ -303,11 +303,11 @@ extension Kingfisher where Base: Image {
                 guard let (images, gifDuration) = decode(from: imageSource, for: options) else {
                 guard let (images, gifDuration) = decode(from: imageSource, for: options) else {
                     return nil
                     return nil
                 }
                 }
-                var image = Kingfisher<Image>.animated(with: images, forDuration: duration <= 0.0 ? gifDuration : duration)
+                let image = Kingfisher<Image>.animated(with: images, forDuration: duration <= 0.0 ? gifDuration : duration)
                 image?.kf.animatedImageData = data
                 image?.kf.animatedImageData = data
                 return image
                 return image
             } else {
             } else {
-                var image = Image(data: data)
+                let image = Image(data: data)
                 image?.kf.animatedImageData = data
                 image?.kf.animatedImageData = data
                 image?.kf.imageSource = ImageSource(ref: imageSource)
                 image?.kf.imageSource = ImageSource(ref: imageSource)
                 return image
                 return image

+ 2 - 8
Sources/ImageView+Kingfisher.swift

@@ -263,10 +263,7 @@ extension ImageView {
     @available(*, deprecated, message: "Extensions directly on image views are deprecated. Use `imageView.kf.indicatorType` instead.", renamed: "kf.indicatorType")
     @available(*, deprecated, message: "Extensions directly on image views are deprecated. Use `imageView.kf.indicatorType` instead.", renamed: "kf.indicatorType")
     public var kf_indicatorType: IndicatorType {
     public var kf_indicatorType: IndicatorType {
         get { return kf.indicatorType }
         get { return kf.indicatorType }
-        set {
-            var holder = kf
-            holder.indicatorType = newValue
-        }
+        set { kf.indicatorType = newValue }
     }
     }
     
     
     @available(*, deprecated, message: "Extensions directly on image views are deprecated. Use `imageView.kf.indicator` instead.", renamed: "kf.indicator")
     @available(*, deprecated, message: "Extensions directly on image views are deprecated. Use `imageView.kf.indicator` instead.", renamed: "kf.indicator")
@@ -275,10 +272,7 @@ extension ImageView {
     /// It will be `nil` if `kf_indicatorType` is `.none`.
     /// It will be `nil` if `kf_indicatorType` is `.none`.
     public private(set) var kf_indicator: Indicator? {
     public private(set) var kf_indicator: Indicator? {
         get { return kf.indicator }
         get { return kf.indicator }
-        set {
-            var holder = kf
-            holder.indicator = newValue
-        }
+        set { kf.indicator = newValue }
     }
     }
     
     
     @available(*, deprecated, message: "Extensions directly on image views are deprecated.", renamed: "kf.imageTask")
     @available(*, deprecated, message: "Extensions directly on image views are deprecated.", renamed: "kf.imageTask")

+ 1 - 2
Sources/Kingfisher.swift

@@ -43,7 +43,7 @@ import ImageIO
     #endif
     #endif
 #endif
 #endif
 
 
-public struct Kingfisher<Base> {
+public final class Kingfisher<Base> {
     public let base: Base
     public let base: Base
     public init(_ base: Base) {
     public init(_ base: Base) {
         self.base = base
         self.base = base
@@ -61,7 +61,6 @@ public protocol KingfisherCompatible {
 public extension KingfisherCompatible {
 public extension KingfisherCompatible {
     public var kf: Kingfisher<Self> {
     public var kf: Kingfisher<Self> {
         get { return Kingfisher(self) }
         get { return Kingfisher(self) }
-        set { }
     }
     }
 }
 }