// // IHAssociatedCell.swift // Inhealth // // Created by weclouds on 2020/4/10. // Copyright © 2020 weclouds. All rights reserved. // import UIKit let kNotifactionIHAssociatedCellCommandFailure = "kNotifactionIHNotAssociatedCellCommandFailure" class IHAssociatedCell: UITableViewCell { var turnonCallback :((Bool)->Void)? var disconnectCallback:(()->Void)? var gateDevice:GatewayLamp?{ didSet{ // 教室 设备类型(4 教室灯,5 黑板灯,6 窗帘,7 面板) /** devType: 0 -- 3 是别的设备灯控 devType: 4 -- 7 是教室的设备 */ if let data = self.gateDevice { if let devType = data.type,let image = data.image ,let name = data.name,let devId = data.deviceId,let status = data.status{ if devType == "0" || devType == "1" { self.lampTurnOnBtn.isHidden = false //ic_ordinary_light self.devIcon.netImage(url: image, placeholder: "全开") }else if devType == "2"{ //Sensor ic_sensor self.devIcon.netImage(url: image, placeholder: "Sensor") self.lampTurnOnBtn.isHidden = true }else if devType == "3"{ self.lampTurnOnBtn.isHidden = true self.devIcon.netImage(url: image, placeholder: "ic_purifier") }else if devType == "4"{ //黑板灯 self.lampTurnOnBtn.isHidden = false //ic_ordinary_light self.devIcon.netImage(url: image, placeholder: "全开") }else if devType == "5"{ //教室灯 self.lampTurnOnBtn.isHidden = false //ic_ordinary_light self.devIcon.netImage(url: image, placeholder: "全开") }else if devType == "6"{ //窗帘 self.lampTurnOnBtn.isHidden = false self.lampTurnOnBtn.setImage(UIImage.init(named: "窗帘"), for: .normal) self.devIcon.netImage(url: image, placeholder: "全开") }else if devType == "7"{ //面板 self.lampTurnOnBtn.isHidden = false self.lampTurnOnBtn.setImage(UIImage.init(named: "面板"), for: .normal) self.devIcon.netImage(url: image, placeholder: "全开") } if status == "0" { self.lampTurnOnBtn.isSelected = false }else if status == "1"{ self.lampTurnOnBtn.isSelected = true } self.devName.text = name.isBlanck == false ? name : "Unnamed" self.devId.text = devId } } } } @IBOutlet weak var devIcon: UIImageView! @IBOutlet weak var devName: UILabel! @IBOutlet weak var devId: UILabel! @IBOutlet weak var lampTurnOnBtn: UIButton! override func awakeFromNib() { super.awakeFromNib() NotificationCenter.default.addObserver(self, selector: #selector(commandFail), name: NSNotification.Name(kNotifactionIHAssociatedCellCommandFailure), object: nil) } deinit { NotificationCenter.default.removeObserver(self) } @objc func commandFail(){ lampTurnOnBtn.isSelected = !lampTurnOnBtn.isSelected //恢复状态 } override func setSelected(_ selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) // Configure the view for the selected state } @IBAction func forbidAction(_ sender: Any) { if let block = self.disconnectCallback { block() } } @IBAction func turnOnOrOff(_ sender: UIButton) { sender.isSelected = !sender.isSelected log.debug(sender.isSelected) if let block = self.turnonCallback { block(sender.isSelected) } } }