我正在尝试使用IBInspectable
为我的视图添加边框。
extension UIView {
private func getBorder(integer: Int) -> UIRectEdge {
if integer == 1 {
return .top
} else if integer == 2 {
return .left
} else if integer == 3 {
return .right
} else if integer == 4 {
return .bottom
}
return .all
}
@IBInspectable var border: Int? {
get {
return self.border
}
set (value) {
self.border = value
for v in addBorder(edges: self.getBorder(integer: self.border!)) {
self.addSubview(v)
}
}
}
@IBInspectable var borderColor: UIColor? {
get {
return self.borderColor
}
set (value) {
self.borderColor = value //EXC_BAD_ACCESS here
for v in addBorder(edges: self.getBorder(integer: self.border!), color: borderColor!) {
self.addSubview(v)
}
}
}
private func addBorder(edges: UIRectEdge, color: UIColor = UIColor.white, thickness: CGFloat = 1) -> [UIView] {
...
}
}
崩溃发生在线上self.borderColor = value
(在set
for 中borderColor
)。
它在调试日志中所说的只是(lldb)
. 崩溃本身说:
线程 1:EXC_BAD_ACCESS(代码=2,地址=0x7fff53cc5fe8)
这是我的故事板:
我该如何解决这个问题?谢谢!