123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- //
- // 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
- }
-
- }
|