// // AlarmClockVC.swift // Twear // // Created by yangbin on 2021/12/24. // import UIKit import MBProgressHUD class AlarmClockVC: UIViewController { @IBOutlet weak var tableView: UITableView! @IBOutlet weak var noClockView: UIView! var alarmClockArray = CurDevice.alarmClocks override func viewWillAppear(_ animated: Bool) { alarmClockArray = CurDevice.alarmClocks noClockView.isHidden = alarmClockArray.count > 0 tableView.isHidden = alarmClockArray.count == 0 tableView.reloadData() } override func viewDidLoad() { super.viewDidLoad() title = LocString("闹钟提醒") let addButton = UIButton(frame: CGRect(x: 0, y: 0, width: 40, height: 28)) addButton.setImage(UIImage(named: "device_add"), for: .normal) addButton.addTarget(self, action: #selector(add), for: .touchUpInside) navigationItem.rightBarButtonItem = UIBarButtonItem(customView: addButton) tableView.register(UINib.init(nibName: "AlarmClockCell", bundle: Bundle.main), forCellReuseIdentifier: "AlarmClockCell") tableView.contentInset = UIEdgeInsets(top: 10, left: 0, bottom: 10, right: 0) tableView.tableFooterView = UIView(frame: CGRect.zero) } @objc private func add() { if alarmClockArray.count >= 5 { MBProgressHUD.showh(LocString("您最多可设置5个闹钟")) return } let vc = UIStoryboard.loadViewControllerIdentifier(storyboardName: "Setting", identifier: "EditAlarmClockVC") navigationController?.pushViewController(vc, animated: true) } private func switchValueChanged(_ isOn: Bool, index: Int) { alarmClockArray[index].isOn = isOn let device = CurDevice device.alarmClocks = alarmClockArray BluetoothManager.shared.setAlarmClock(alarmClockArray) { error in if error == nil { AdminHelper.shared.updateDevice(device) } } } deinit { print("deinit\(NSStringFromClass(type(of: self)))!!!!!!!") } } extension AlarmClockVC: UITableViewDelegate, UITableViewDataSource { func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return 85 } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return alarmClockArray.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "AlarmClockCell", for: indexPath) as! AlarmClockCell cell.alarmClock = alarmClockArray[indexPath.row] cell.switchClosure = {[weak self] isOn in self?.switchValueChanged(isOn, index: indexPath.row) } return cell } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { // let cell = tableView.cellForRow(at: indexPath) as! SettingCell3 // cell.isSelected = false let vc = UIStoryboard.loadViewControllerIdentifier(storyboardName: "Setting", identifier: "EditAlarmClockVC") as! EditAlarmClockVC vc.alarmClock = CurDevice.alarmClocks[indexPath.row] vc.index = indexPath.row vc.isEdit = true navigationController?.pushViewController(vc, animated: true) } }