Swift 3 扩展(extension)

swift中的扩展,跟OC中的category很像,注意,这里只能扩展计算属性,如果扩展构造函数,也只能扩展便利构造函数
首先,我们可以扩展自己写的类(这种情况适用多人开发,可以给同一个类扩展自己想要的方法)
这里,举例子扩展系统的类Int
我们这样求一个整数的平方

let a = 9
a.square

我们只需要给Int扩展一个计算属性或者方法就可以,这类我们扩展出一个计算属性

extension Int{
        var square: Int{
        return self*self
    }
}

再对Int扩展一个很有意思的

func repetitions(task: () -> Void){
        for _ in 0..

我们这样写就是闭包中的代码执9次

let num = 9
num.repetitions { 
    print("nihao")
}

顺便提一下循环这个东西
如果不想一次只加 1,可以这样写for循环

for i in stride(from: 1, to: num, by: 2) {
        print(i)
    }

解释一下代码,from:开始值,闭区间,to:结束值,开区间,by:每次增加的数值(如果是负数,就是递减的循环)
扩展系统类,有时候很有用,比如扩展UIColor,可以使用十六进制字符串来初始化颜色等等

你可能感兴趣的:(Swift 3 扩展(extension))