Я пытаюсь использовать 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
для borderColor
).
В журнале отладки написано только (lldb)
. Сама авария говорит:
Тема 1: EXC_BAD_ACCESS (код = 2, адрес = 0x7fff53cc5fe8)
Вот моя раскадровка:
Как я могу решить эту проблему? Спасибо!