【发布时间】:2020-12-13 21:31:38
【问题描述】:
??????????
在此示例中,如何在此更新视图之后随时发送动态链接到服务类 我随时收到链接,我不想使用通知等
-
查看
var viewModel = HomeViewModel() func configureViewModel() { viewModel.resultClosure = { [weak self] listModel in guard let image = listModel.uiImage else { return } self?.updateImageViewConstraint(nil, image: image) } } -
HomveViewModel
class HomeViewModel { var service = Services() var listModel = [ListModel]() { didSet { DispatchQueue.main.async { [weak self] in guard let self = self else { return } self.resultClosure?(self.listModel[0]) } } } let placeholderImage = UIImage(named: "placeholder") var updatedImge : UIImage? var resultClosure: ((ListModel) -> Void)? var stringUrl: StringUrl! func fetchData() { service.makeRequest() { (result: Result<[ListModel]>) in switch result { case .success(let listModel): self.listModel = listModel return case .failure(let error): print("\n HomeViewModel fetchData failure \(error) \n") return } } }}
-
Services - 这里我需要检查动态链接
class Services { let urlSession: URLSession let imageProvider = ImageProvider() let dynamicLinkfromStruct = "Dynamic Link From Struct!!!" init(urlSession: URLSession = .shared) { self.urlSession = urlSession } func makeRequest(completionHandler: @escaping (Result<[ListModel]>) -> Void) { guard let url = URL(string: dynamicLinkfromStruct) else { return } imageProvider.loadImages(from: url) { (image) in do { let result = [ListModel.init(imageUrl: self.url, uiImage: image)] completionHandler(.success(result)) } catch { completionHandler(.failure(error )) } } } } -
型号
struct ListModel { let imageUrl: String? let uiImage: UIImage? } -
我可以捕捉到我需要在视图中显示的任何时间动态链接的结构。在这里提问! 如何发送服务链接和更新视图???
struct GetManager { static func showContent(pasteboard: String) { switch onlyLinkAbsoluteString.validURL { case true: // How to Send Link to Services and update View??? } } }
【问题讨论】:
标签: swift model-view-controller struct