         get { return associatedObject(&AssociatedKey.borderWidth, default: 0) }
         set {
             setAssociatedObject(&AssociatedKey.borderWidth, value: newValue)
-            guard borderWidth != 0 else { return }
             topBorderView.constraint(forAttribute: .height)?.constant = newValue
         }
     }

    }

    private func setBorder(color: UIColor, thickness: CGFloat = 1) {
        isBorderHidden = true
        addBorder(edges: .top, color: color, thickness: thickness)
    }
}

        get { return associatedObject(&AssociatedKey.borderColor, default: layer.borderColor?.uiColor ?? .black) }
        set {
            setAssociatedObject(&AssociatedKey.borderColor, value: newValue)
            topBorderView.backgroundColor = newValue
        }
    }
