// // SPSearchViewModel.swift // Thimra // // Created by 曾觉新 on 2025/4/18. // import UIKit class SPSearchViewModel: NSObject { ///搜索历史 @objc dynamic var searchHistoryArr: [String] = SPSearchViewModel.getSearchHistory() func addSearchHistory(text: String) { guard text.count > 0 else { return } SPSearchViewModel.addSearchHistory(text: text) searchHistoryArr = SPSearchViewModel.getSearchHistory() } func cleanSearchHistory() { SPSearchViewModel.cleanSearchHistory() searchHistoryArr.removeAll() } } extension SPSearchViewModel { ///添加历史记录 static func addSearchHistory(text: String) { var arr = getSearchHistory() for (i, value) in arr.enumerated() { if value == text { arr.remove(at: i) break } } arr.insert(text, at: 0) if arr.count > 10 { arr.removeLast() } UserDefaults.standard.set(arr, forKey: kSPHomeSearchHistoryDefaultsKey) UserDefaults.standard.synchronize() } ///获取历史记录 static func getSearchHistory() -> [String] { let arr = UserDefaults.standard.object(forKey: kSPHomeSearchHistoryDefaultsKey) as? [String] return arr ?? [] } ///清空历史记录 static func cleanSearchHistory() { UserDefaults.standard.set([], forKey: kSPHomeSearchHistoryDefaultsKey) UserDefaults.standard.synchronize() } }