53 lines
1.3 KiB
Swift
53 lines
1.3 KiB
Swift
//
|
|
// MusicViewModel.swift
|
|
// MusicPlayer
|
|
//
|
|
// Created by Mr.Zhou on 2024/4/1.
|
|
//
|
|
|
|
import UIKit
|
|
///音乐展示分类
|
|
enum MPSideA_MusicShowType:Int {
|
|
case First = 1
|
|
case Second = 2
|
|
case Third = 3
|
|
///对应标题
|
|
var title:String{
|
|
switch self {
|
|
case .First:
|
|
return NSLocalizedString("Real human voice", comment: "人声")
|
|
case .Second:
|
|
return NSLocalizedString("Sounds of appliances", comment: "电器声")
|
|
case .Third:
|
|
return NSLocalizedString("Sounds of nature", comment: "自然声")
|
|
}
|
|
}
|
|
}
|
|
///音乐ViewModel
|
|
class MPSideA_MusicViewModel: NSObject {
|
|
///展示封面
|
|
var cover:UIImage!
|
|
///标题
|
|
var title:String = ""
|
|
///时长字符串
|
|
var duration:String = ""
|
|
///播放状态(对照单例状态)
|
|
// var isPlay:Bool = false
|
|
///音乐实体数据
|
|
var music:MPSideA_MusicModel
|
|
///分类
|
|
var type:MPSideA_MusicShowType!
|
|
init(_ music: MPSideA_MusicModel) {
|
|
self.music = music
|
|
super.init()
|
|
setUIDataLayout()
|
|
}
|
|
//实现数据与ui适配
|
|
private func setUIDataLayout() {
|
|
cover = UIImage(data: music.cover)
|
|
title = music.title ?? ""
|
|
duration = setTimesToMinSeconds(music.duration)
|
|
type = .init(rawValue: Int(music.album))
|
|
}
|
|
}
|