// // IHTreeTableViewNode.swift // Inhealth // // Created by weclouds on 2019/12/23. // Copyright © 2019 weclouds. All rights reserved. // import UIKit class IHTreeTableViewNode: NSObject { ///父节点 - nil表示根节点 var perentNode :IHTreeTableViewNode?{ didSet{ if let parentN = self.perentNode ,!parentN.subNodes.contains(self) { parentN.subNodes.append(self) } } } ///子节点集合 var subNodes :[IHTreeTableViewNode] = [IHTreeTableViewNode](){ didSet{ for childNode in self.subNodes { childNode.perentNode = self } } } ///本节点ID var nodeID :String = "0" ///本节点名称 var nodeName :String = "" ///设备数量 var deviceCount : String = "0" ///本节点是否处于展开状态 var isExpand:Bool = false ///深度:根节点为0 var depth :Int{ if let parentN = self.perentNode { return parentN.depth + 1 } return 0 } override init() { super.init() if nodeName == "" { return } } /// 便利构造函数 /// /// - Parameters: /// - parentNodeID: 父节点ID(>=-1,-1表示根节点) /// - nodeID: 本节点ID(>=0) /// - nodeName: 本节点名称(!="") /// - isExpand: 本节点是否处于展开状态 convenience init?(nodeID:String,nodeName:String,deviceCount:String,isExpand:Bool) { self.init() if nodeName == "" { return nil }else{ self.nodeID = nodeID self.nodeName = nodeName self.deviceCount = deviceCount self.isExpand = isExpand } } ///添加子节点 /// /// - Paramerter childNode : 子节点 func addChildNode(childNode:IHTreeTableViewNode) { childNode.perentNode = self } }