Swift - 方法

在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()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,798评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,189评论 18 399
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 9,458评论 1 10
  • 相聚只为文章好, 花香袭来有缘人。 神秘园中人甜蜜, 诸君细品看花神。 《卜算子》 晨风轻轻吹,蒙蒙鸡鸣叫。半睡难...
    居然君阅读 2,976评论 0 0
  • 接触小鹤双拼,应该在去年的某一个时间,日期模糊了,但是开始决定使用它的意愿却十分清晰,就是想打字误码率少点。 还记...
    汉朝名塔阅读 11,308评论 7 7