在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()
网友评论