RefreshableViewController 0.8.0

RefreshableViewController 0.8.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最后发布2019年10月
SPM支持 SPM

Daniel Clelland维护。



  • Daniel Clelland

RefreshableViewController

RefreshableViewController 是一个简单的视图控制器,它基于 PromiseKit 实现了基于 Promise 的刷新状态管理。

示例用法

import UIKit
import PromiseKit
import RefreshableViewController

struct APIClient {
    
    static func getItem(itemID: Int) -> Promise<Item> {
        return Promise { fulfill, reject in
            // Make HTTP requests, etc...
            let item = Item(name: "Item Name")
            fulfill(item)
        }
    }
    
}

struct Item {

    let name: String
    
}

class ItemViewController: RefreshableViewController<Item> {
    
    convenience init(itemID: Int) {
        self.init(request: APIClient.getItem(itemID: itemID))
    }
    
    override func refreshState() {
        super.refreshState()
        
        switch state {
        case .ready:
            print("View controller is ready")
        case .loading:
            print("View controller is loading")
        case .success(let item):
            print("View controller loaded item with name: \(item.name)")
        case .failure(let error):
            print("View controller failed to load item with error: \(error)")
        }
    }

}