- Xcode version 11.3.1
- pod version 1.9.1
- MacOS Catalina version 10.15.4
・値渡し先のプロパティのnilチェックが必要 ・値渡し先のプロパティはミュータブル/公開にする |
・値渡し先のプロパティのnilチェックが不要 ・値渡し先のプロパティをいミュータブル/非公開にできる |
- UIViewでXibファイル(カスタムView)を作るときは、
下記に示すイニシャライザ・Viewの読み込みをまとめたXibViewクラスを継承する
class XibView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
self.loadNib()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.loadNib()
}
private func loadNib() {
// 自身と同じclass名のxibを読み込む
let className: String = String(describing: type(of: self))
let view: UIView = Bundle.main.loadNibNamed(className, owner: self, options: nil)?.first as! UIView
view.backgroundColor = .white
view.frame = self.bounds
self.addSubview(view)
}
}