Browse Source

pull to refresh added

pull/1/head
gme_2 6 years ago
parent
commit
41d66cecd2
  1. 1
      GMERemittance/Module/Home/Application Logic/Interactor/HomeInteractor.swift
  2. 12
      GMERemittance/Module/Home/Application Logic/Service/HomeServiceType.swift
  3. 4
      GMERemittance/Module/Home/User Interface/Presenter/HomePresenter.swift
  4. 13
      GMERemittance/Module/Home/User Interface/View/HomeViewController.swift
  5. 1
      GMERemittance/Module/Home/User Interface/View/HomeViewInterface.swift

1
GMERemittance/Module/Home/Application Logic/Interactor/HomeInteractor.swift

@ -30,6 +30,7 @@ extension HomeInteractor: HomeInteractorInput {
func fetchUserInfo() {
self.service.fetchUserInfo(success: { user in
self.output?.show(model: user)
}) { error in
self.output?.show(error: error)
}

12
GMERemittance/Module/Home/Application Logic/Service/HomeServiceType.swift

@ -14,11 +14,11 @@ protocol HomeServiceType: class, UserInfoService {
protocol UserInfoService: ApiServiceType {
func fetchUserInfo(success: @escaping (User?) -> (), failure: @escaping (Error) -> ())
func fetchUserInfo(success: @escaping (User) -> (), failure: @escaping (Error) -> ())
}
extension UserInfoService {
func fetchUserInfo(success: @escaping (User?) -> (), failure: @escaping (Error) -> ()) {
func fetchUserInfo(success: @escaping (User) -> (), failure: @escaping (Error) -> ()) {
// let params = [ "userId": userId, "password": password ]
let url = baseUrl + ""
auth.request(method: .post, url: url, params: nil, success: { (response: UserContainer ) in
@ -26,8 +26,14 @@ extension UserInfoService {
let error = NSError.init(domain: "Network", code: 0, userInfo: [NSLocalizedDescriptionKey : response.message ?? ""])
failure(error)
}else {
let model = response.data
if let model = response.data {
success(model)
}else {
let error = NSError.init(domain: "UserInfoService", code: 0, userInfo: [NSLocalizedDescriptionKey : "Failed to map info from server"])
failure(error)
}
}
}) { (error) in
failure(error)

4
GMERemittance/Module/Home/User Interface/Presenter/HomePresenter.swift

@ -51,12 +51,12 @@ extension HomePresenter: HomeModuleInterface {
extension HomePresenter: HomeInteractorOutput {
func show(model: User) {
self.view?.showLoading()
self.view?.endRefreshing()
self.view?.show(model: model)
}
func show(error: Error) {
self.view?.hideLoading()
self.view?.endRefreshing()
self.view?.show(error: error.localizedDescription)
}
}

13
GMERemittance/Module/Home/User Interface/View/HomeViewController.swift

@ -135,12 +135,6 @@ class HomeViewController: UIViewController, UICollectionViewDelegateFlowLayout {
presenter?.refreshData()
}
func endRefreshing() {
if self.tableView.refreshControl?.isRefreshing == true {
self.tableView.refreshControl?.endRefreshing()
self.tableView.contentOffset.y = 0
}
}
@objc func showNotification(){
performSegue(withIdentifier: "notification", sender: nil)
@ -323,6 +317,13 @@ extension HomeViewController: HomeViewInterface {
func hideLoading() {
self.hideProgressHud()
}
func endRefreshing() {
if self.tableView.refreshControl?.isRefreshing == true {
self.tableView.refreshControl?.endRefreshing()
self.tableView.contentOffset.y = 0
}
}
}

1
GMERemittance/Module/Home/User Interface/View/HomeViewInterface.swift

@ -11,4 +11,5 @@ protocol HomeViewInterface: class {
func show(error: String)
func showLoading()
func hideLoading()
func endRefreshing()
}
Loading…
Cancel
Save