頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


SwiftのExtensionでプロパティを追加

Objective-CでUIViewオブジェクトのwidthを得るカテゴリを使ってるのよ。実装部分はこんな感じ。
@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
http://ringsbell.blog117.fc2.com/tb.php/945-a6a2f2a9




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad