aboutsummaryrefslogtreecommitdiff
path: root/foray/Presenters
diff options
context:
space:
mode:
Diffstat (limited to 'foray/Presenters')
-rw-r--r--foray/Presenters/PenguinItemPresenter.swift16
1 files changed, 10 insertions, 6 deletions
diff --git a/foray/Presenters/PenguinItemPresenter.swift b/foray/Presenters/PenguinItemPresenter.swift
index 0420825..2f3730f 100644
--- a/foray/Presenters/PenguinItemPresenter.swift
+++ b/foray/Presenters/PenguinItemPresenter.swift
@@ -8,12 +8,16 @@
import Foundation
class PenguinItemPresenter {
- func getData(onComplete: @escaping ([PenguinItemViewModel]) -> ()) {
- ForayNetworkManager.shared.get(
- url: "https://users.windblume.net/~nick/upload/dummy.json",
- onComplete: { (apiItems: [PenguinItemModel]) in
- onComplete(self.transform(models: apiItems))
- })
+ func fetch(receiver: @escaping ([PenguinItemViewModel]) -> ()) {
+ ForayNetworkManager.shared
+ .fetch(url: "https://users.windblume.net/~nick/upload/dummy.json") { (apiItems: [PenguinItemModel]) in
+ // Callback to main thread here
+ // There probably is a nicer way to do it, but we will DispatchQueue it back
+ // from the Presenter-level for now (main thread from VC onwards)
+ DispatchQueue.main.async {
+ receiver(self.transform(models: apiItems))
+ }
+ }
}
func transform(models: [PenguinItemModel]) -> [PenguinItemViewModel] {