SSブログ

Objective-CのカテゴリはSwiftではextensionを使う [Swift]

Swiftのマニュアルには、Objective-Cのクラスのカテゴリの記述方法が書かれていませんてした。
このカテゴリの機能は、Swiftにはないのかな?と思ったのですか、Swiftではクラスの拡張(extension)を使えば実現できるようです。

例えば、Objective-CでNSObjectクラスにlogメソッドの追加をして、そのカテゴリをLoggingとすると、以下のように記述します。
@interface NSObject (Logging)
- (void)log;
@end

@implemetation NSObject (Logging)
- (void)log
{
    NSLog(@"%@", self);
}
@end

これをSwiftでは、
extension NSObject {
    func log() {
        println(self)
    }
}   

と記述することになるようです。
Swiftのextensionでは、Objective-Cのように名前を付けることができないようです。
(上の例では、Logging)
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。