Ingen beskrivning

ImageManager.swift 2.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. //
  2. // ImageManager.swift
  3. // Flowerdex
  4. //
  5. // Created by Víctor A. Hernández on 11/12/20.
  6. //
  7. import Foundation
  8. import SwiftUI
  9. class ImageManager: ObservableObject {
  10. @Published var response: Response = .unfetched
  11. @Published var image = UIImage(systemName: "photo")
  12. func fetchImage(_ urlString: String) {
  13. // Start loading state
  14. self.response = .loading
  15. if let url = URL(string: urlString) {
  16. URLSession(configuration: .default).dataTask(with: url) { data, response, error in
  17. if error != nil {
  18. print("Error occurred: \(error?.localizedDescription ?? "Unknown error")")
  19. return
  20. }
  21. guard let data = data else {
  22. print("No data in response: \(error?.localizedDescription ?? "Unknown error")")
  23. return
  24. }
  25. DispatchQueue.main.async {
  26. if let img = UIImage(data: data) {
  27. self.image = img
  28. self.response = .success
  29. } else {
  30. self.response = .failure
  31. }
  32. }
  33. }.resume()
  34. }
  35. }
  36. }
  37. //
  38. //class HistoryManager: ObservableObject {
  39. //
  40. // @Published var response: Response = .unfetched
  41. // @Published var hasBeenFound = false
  42. // let baseURL = "https://ada.uprrp.edu/~victor.hernandez17/"
  43. // let foundEndpoint = "flowerdex/isFoundFlower.php"
  44. // let putFoundEndpoint = "flowerdex/putFoundFlower.php"
  45. // let removeFoundEndpoint = "flowerdex/removeFoundFlower.php"
  46. //
  47. // func fetch() {
  48. //
  49. // // Start loading state
  50. // self.response = .loading
  51. //
  52. // let urlString = baseURL + foundEndpoint
  53. //
  54. // if let url = URL(string: urlString) {
  55. // URLSession(configuration: .default).dataTask(with: url) { data, response, error in
  56. //
  57. // if error != nil {
  58. // print("Error occurred: \(error?.localizedDescription ?? "Unknown error")")
  59. // return
  60. // }
  61. //
  62. // guard let data = data else {
  63. // print("No data in response: \(error?.localizedDescription ?? "Unknown error")")
  64. // return
  65. // }
  66. //
  67. // DispatchQueue.main.async {
  68. // if let img = UIImage(data: data) {
  69. // self.image = img
  70. // self.response = .success
  71. // } else {
  72. // self.response = .failure
  73. // }
  74. // }
  75. //
  76. // }.resume()
  77. // }
  78. // }URLSession.shared.dataTask(with: request) { data, response, error in
  79. //
  80. //}