Objective-CのカテゴリはSwiftではextensionを使う [Swift]
Swiftのマニュアルには、Objective-Cのクラスのカテゴリの記述方法が書かれていませんてした。
このカテゴリの機能は、Swiftにはないのかな?と思ったのですか、Swiftではクラスの拡張(extension)を使えば実現できるようです。
例えば、Objective-CでNSObjectクラスにlogメソッドの追加をして、そのカテゴリをLoggingとすると、以下のように記述します。
これをSwiftでは、
と記述することになるようです。
Swiftのextensionでは、Objective-Cのように名前を付けることができないようです。
(上の例では、Logging)
このカテゴリの機能は、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)
2014-06-11 22:31
nice!(0)
コメント(0)
トラックバック(0)
コメント 0