File tree Expand file tree Collapse file tree 1 file changed +14
-6
lines changed
Sources/RemoteImage/public/Services Expand file tree Collapse file tree 1 file changed +14
-6
lines changed Original file line number Diff line number Diff line change @@ -55,18 +55,26 @@ private extension RemoteImageService {
55
55
cancellable = dependencies. remoteImageURLDataPublisher. dataPublisher ( for: urlRequest)
56
56
. map { UIImage ( data: $0. data) }
57
57
. receive ( on: RunLoop . main)
58
- . sink ( receiveCompletion: { completion in
58
+ . sink ( receiveCompletion: { [ weak self] completion in
59
+ guard let weakSelf = self else {
60
+ return
61
+ }
62
+
59
63
switch completion {
60
64
case . failure( let error) :
61
- self . state = . error( error as NSError )
62
- default : ( )
65
+ weakSelf. state = . error( error as NSError )
66
+ case . finished: ( )
67
+ }
68
+ } ) { [ weak self] image in
69
+ guard let weakSelf = self else {
70
+ return
63
71
}
64
- } ) { image in
72
+
65
73
if let image = image {
66
74
Self . cache. setObject ( image, forKey: cacheKey)
67
- self . state = . image( image)
75
+ weakSelf . state = . image( image)
68
76
} else {
69
- self . state = . error( RemoteImageServiceError . couldNotCreateImage as NSError )
77
+ weakSelf . state = . error( RemoteImageServiceError . couldNotCreateImage as NSError )
70
78
}
71
79
}
72
80
}
You can’t perform that action at this time.
0 commit comments