Created
January 20, 2020 05:30
-
-
Save garethpaul/a827ca400443eec43bea7a4f2a6f057a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // | |
| // ImageLoader.swift | |
| // FSQNearby | |
| // | |
| // Created by GPJ on 1/19/20. | |
| // Copyright © 2020 GPJ. All rights reserved. | |
| // | |
| import Combine | |
| import Foundation | |
| class ImageLoader: ObservableObject { | |
| private var url: String = "" | |
| var didChange = PassthroughSubject<Data, Never>() | |
| var data = Data() { | |
| didSet { | |
| didChange.send(data) | |
| load(urlString: self.url) | |
| } | |
| } | |
| init(urlString:String) { | |
| self.url = urlString | |
| load(urlString: url) | |
| } | |
| private func load(urlString:String) { | |
| guard let url = URL(string: urlString) else { return } | |
| let task = URLSession.shared.dataTask(with: url) { data, response, error in | |
| guard let data = data else { return } | |
| DispatchQueue.main.async { | |
| self.data = data | |
| } | |
| } | |
| task.resume() | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment