//
// 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 }
}
|