【Swift4】カスタムUIViewなどのinitメソッドの記述方法【iOS11】【Objective-C】
カスタムUIViewやUIButtonを作成した時に、initメソッド内で定数や配列の初期化などを行いたい場合があります。この時initメソッドをoverrideする必要があります。
1.initメソッドをoverrideする
objective-cの場合
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
// 初期化などをここに記述
}
return self;
}swiftの場合
override init(frame: CGRect) {
super.init(frame: frame)
// 初期化などをここに記述
}2.'required' initializer 'init(coder:)' must be provided by subclass of ~ というエラーが出た場合
swiftの場合requiredメソッドも実装する必要があります
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}



