Extensions
Swift 中的 extension 就像是 objc 中的 category,可以擴充任何的 class,但是在 Swift, extension 可以擴充任何「有名字」的東西,例如,我們擴充 Size
class:
這樣所有 Size
的 instance 都可以用 increaseByFactor
。
更進一步,我們也可以擴充「原生」的 class:
我們可以擴充 Core Graphic 中的 CGSize
。
既然我們剛剛,可以擴充任何「有名字」的東西,那麼,我們還可以擴充 Int
:
這有什麼好處呢?好處可多的呢,我們可以在 Swift 中對任意的 Int
執行 repetitions
:
而我們在 Closures 中有提到 Trailing Closures,因此我們可以把程式碼再簡化:
這樣寫起來真是太太太方便了!終於知道為什麼會有 Trailing Closures 這樣的功能了!
Swift 中的 extensions 很強大!
下一篇: Generics