暂无描述

ViewModel.swift 968B

    // // ViewModel.swift // PaiAi // // Created by LISA on 2017/5/31. // Copyright © 2017年 yb. All rights reserved. // import UIKit import RxSwift import RxCocoa protocol ViewModel { associatedtype T var models: Variable<[T]> { get set } var observer: Observable<[T]> { get } subscript(index: Int) -> T { get } func removeAll() func remove(at: Int) func allData() -> [T] var count: Int { get } var hasMoreData: Bool { get } var page: Int { set get } } extension ViewModel { var count: Int { get{ return models.value.count } } var hasMoreData: Bool { get{ return count % 20 == 0 } } var observer: Observable<[T]> { get{ return models.asObservable() } } subscript(index: Int)-> T { return models.value[index] } func removeAll() { models.value.removeAll() } func remove(at i: Int) { models.value.remove(at: i) } func allData() -> [T] { return models.value } }