Swift - 方法

2017-01-06  本文已影响9人  汪小喵

在Swift中,方法可以在类、结构体、枚举中定义,比OC更加灵活。
1.实例方法
实例方法由类的特定实例调用,实例方法和函数一样,分为有参方法和无参方法。下面来看一个例子:

class Person {
    // 声明一个表示人数的常量 personCount
    var personCount = 0
    // 声明一个方法,让 personCount 加1
    func personCountAdditive() {
        personCount += 1
        print(personCount)
    }
    // 让personCount加上一个指定的数量
    func personCountAdditiveNumber(amount: Int) {
        personCount += 1
        print(personCount)
    }
    // 将 personCount 重置为0
    func reset() {
        personCount = 0
        print(personCount)
    }
}
// 方法调用
let person = Person()
person.personCountAdditive()
person.personCountAdditiveNumber(9)
person.reset()

2.类型方法
从上面的例子中可以看到,实例方法就是由特定实例调用的方法。就像有类属性一样,也可以定义由类型自身调用的方法,称为类型方法。在func关键字前面加上static关键字可以声明一个类型方法,另外,在类中定义类型方法时,可以使用class代替static。还是看下面的例子:
类的类型方法:

class Weather {
    class func winter() {
        print("冬天到了,要下雪了")
    }
}
Weather.winter()

结构体和枚举的类型方法:

struct Person {
    // 定义结构体类型方法
    static func personName(name: String) -> String {
        return name
    }
}
// 调用Person 结构体的方法
print(Person.personName("汪小喵"))

enum Animal {
    case dog
    case cat
    case elephant
    // 定义枚举类型方法
    static func animalLifeHabits() {
        print("动物的生活习性")
    }
}
// 调用Animal 枚举的方法
Animal.animalLifeHabits()
上一篇 下一篇

猜你喜欢

热点阅读