SwiftのExtensionでプロパティを追加
Objective-CでUIViewオブジェクトのwidthを得るカテゴリを使ってるのよ。実装部分はこんな感じ。
同じようにSwiftでもカテゴリ作ろうかと思ったらどうやらSwiftではExtensionで作成すればいいって聞いたのでそれで作ってみたのよ。
よくよく調べるとこういう書き方もできるそうな。
これだと使う時には
@implementation UIView (AddWidth) -(float)width { return self.frame.size.width; } @endこうしておけば、widthを得るのに myView.width ですむもんね。
同じようにSwiftでもカテゴリ作ろうかと思ったらどうやらSwiftではExtensionで作成すればいいって聞いたのでそれで作ってみたのよ。
extension UIView { func width() -> CGFloat { return self.frame.size.width } }使う時にはこんな感じに、、、
myView.width()む?最後のカッコが邪魔だ、すっきりしない!
よくよく調べるとこういう書き方もできるそうな。
extension UIView { var width: CGFloat { return self.frame.size.width } }最初のと違ってメソッドじゃなくてプロパティを書いてるみたいな感じだな。
これだと使う時には
myView.widthでカッコ付けずに済むのでスッキリ。
スポンサーサイト
<< Objective-CのプロジェクトからSwiftのクラスを使う TopPage Swiftのif letが気持ち悪かったけど >>
トラックバック
トラックバックURL
https://ringsbell.blog.fc2.com/tb.php/945-a6a2f2a9
https://ringsbell.blog.fc2.com/tb.php/945-a6a2f2a9