You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

35 lines
1.3 KiB

//
// SportCellViewModels.swift
// Lookfit
//
// Created by lemo. on 2020/4/19.
// Copyright © 2020 Sheldon. All rights reserved.
//
import UIKit
class SportCellViewModels: ViewModel {
var sportModel: SportModel = SportModel()
let img = BehaviorRelay<UIImage?>(value: nil)
let sportName = BehaviorRelay<String?>(value: nil)
let timeStr = BehaviorRelay<String?>(value: nil)
let duration = BehaviorRelay<String?>(value: nil)
let distanceUnit = BehaviorRelay<String?>(value: nil)
let distance = BehaviorRelay<String?>(value: nil)
let calories = BehaviorRelay<String?>(value: nil)
init(sportModel: SportModel) {
self.sportModel = sportModel
sportName.accept(sportModel.getSportType.sportTypeName)
img.accept(sportModel.getSportType.sportImg)
timeStr.accept(sportModel.dataDate)
duration.accept(sportModel.durationStr)
let metric = UserDefaultsManager.getUserInfo()?.metricUnit ?? 0
let distanceStr = metric == 0 ? String(format: "%0.2lf",CGFloat(sportModel.distance) / 1000.0) : String(format: "%0.2lf", CGFloat(sportModel.distance) / 1000.0 * 0.62137)
distance.accept(distanceStr)
distanceUnit.accept(metric == 0 ? "km" : "miles")
calories.accept(String(sportModel.calorie))
}
}