IBInspectable
を使用して、ビューに罫線を追加しようとしています。EXC_BAD_ACCESS 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] {
...
}
}
クラッシュ(borderColor
用set
で)行self.borderColor = value
で起こります。
デバッグログに表示されるのは、すべて(lldb)
です。クラッシュ自体は言う:
スレッド1:ここではEXC_BAD_ACCESS(コード= 2、アドレス= 0x7fff53cc5fe8)
が私の絵コンテです:
私はこの問題をどのように修正することができます?ありがとう!