Swift 4プログラミング入門 iOS 11 Xcode 9対応 新品価格 |
何か作業があるたびに
ぼちぼちObjective-cをSwiftに書き換えてます
今回はObjective-cのカスタムビューをSwiftに書き換えてみた
・Objective-C
@implementation CustomeView
- (id)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
[self setup];
}
return self;
}
- (id)initWithCoder:(NSCoder*)coder{
if (self = [super initWithCoder:coder]) {
[self setup];
}
return self;
}
@end
・Swift
class CustomeView : UIButton {
required init?(coder: NSCoder) {
super.init(coder: coder)
setup()
}
override init(frame: CGRect) {
super.init(frame:frame)
setup()
}
}
・コードの説明
required:メソッドをオーバーライドする場合必須になるらしい
https://ja.stackoverflow.com/questions/18367/uiview%E3%81%AE%E3%82%B5%E3%83%96%E3%82%AF%E3%83%A9%E3%82%B9%E6%99%82%E3%81%ABrequire-init%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AA%E5%A0%B4%E5%90%88%E3%81%AE%E7%90%86%E7%94%B1
init?:失敗することのあるinitializerらしい。
http://nikyo.b.osdn.me/2014/11/09/swift-init-%E3%81%A8-init-%E3%81%AE%E4%BD%BF%E3%81%84%E5%88%86%E3%81%91/
これにてカスタムビューができましたとさ
まだまだSwift化は続くよ