Skip to content

Commit a56a54d

Browse files
authored
Merge pull request #89 from ndizazzo/fix/placeholder-displayed-before-storage-checked
Check storage before setting placeholder
2 parents e595d34 + 252394b commit a56a54d

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

Sources/Shared/Extensions/View+Imaginary.swift

+10-4
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,23 @@ extension View {
1313
placeholder: Image? = nil,
1414
option: Option = Option(),
1515
completion: Completion? = nil) {
16-
if let placeholder = placeholder {
17-
option.imageDisplayer.display(placeholder: placeholder, onto: self)
18-
}
19-
2016
cancelImageFetch()
2117

2218
self.imageFetcher = ImageFetcher(
2319
downloader: option.downloaderMaker(),
2420
storage: option.storageMaker()
2521
)
2622

23+
var shouldSetPlaceholder = placeholder != nil
24+
25+
if let storage = option.storageMaker(), let _ = try? storage.entry(forKey: url.absoluteString) {
26+
shouldSetPlaceholder = false
27+
}
28+
29+
if shouldSetPlaceholder, let placeholder = placeholder {
30+
option.imageDisplayer.display(placeholder: placeholder, onto: self)
31+
}
32+
2733
self.imageFetcher?.fetch(url: url, completion: { [weak self] result in
2834
guard let `self` = self else {
2935
return

0 commit comments

Comments
 (0)