Няма описание

MessageViewModel.swift 1.3KB

    // // MessageViewModel.swift // PaiAi // // Created by mac on 2016/10/19. // Copyright © 2016年 FFIB. All rights reserved. // import Foundation import RxSwift import RxCocoa import RxDataSources public struct MessageViewModel { let messageModel: MessageModel public init(type: MessageType) { self.messageModel = MessageModel(type: type) } public var messageContents: Observable<[AnimatableSectionModel<Int, MessageItem>]> { return messageModel.items.distinctUntilChanged().map({ model in return [AnimatableSectionModel(model: 0, items: model)] }) } public func reload(isRefresh: Bool) { messageModel.loadContents(isRefresh: isRefresh) } public func preload(indexPath: IndexPath?) { guard let indexPath = indexPath, indexPath.row == messageModel.items.value.count - 5 else { return } messageModel.loadContents(isRefresh: false) } public func remove(_ item: MessageItem) { messageModel.remove(item) } public func removeAll() { messageModel.removeAll { } } public var hasData: Observable<Bool> { return messageModel.items.map { $0.count != 0 } } }