• Swift学习笔记十一:方法


         方法是与某些特定类型相关联的功能/函数在Swift中,结构体和枚举能够定义方法;其实这是Swift与C/Objective-C的主要差别之中的一个。

    在Objective-C中,类是唯一能定义方法的类型。


    1. 实例方法(Instance Methods)
      1. 基本使用

          顾名思义,实例方法就是实例能够调用的方法。以下让我们直接上代码吧

    class Counter {
        var count: Int = 0
        func incrementBy(amount: Int, numberOfTimes: Int) {
            count += amount * numberOfTimes
        }
    }
    let a = Counter()
    a.incrementBy(1,numberOfTimes:1)

              重点:
                   ① 方法其实是特殊的函数,全部函数的规则在方法中均适用
                   ② 基于书写规范,方法的命名尽量要表达出这种方法的作用。以及每一个參数的作用
                   ③ 能够看到我们调用方法时,第二个參数的名称写出来了,这是由于在Swift中,默认情况下。方法的第一个參数是内部參数(方法名中以及能够明白表明第一个參数的意义),其它參数都是外部參数。调用时,须要写出參数名称(这样能明白的表示出參数的意义,利于代码阅读)。

    假设不想使用外部參数,能够将外部參数用”_"取代

    class Counter {
        var count: Int = 0
        func incrementBy(amount: Int, _ numberOfTimes: Int) {
            count += amount * numberOfTimes
        }
    }
    let a = Counter()
    a.incrementBy(1,1)

       2.在实例方法中改动值类型 
              构体和枚举是值类型。普通情况下。值类型的属性不能在他的实例方法中被改动。
              假设你确实须要在某个详细的方法中改动结构体或者枚举的属性。你能够选择变异(mutating)这种方法

    struct Student{
        var score = 0
        mutating func incrementScore(a:Int){
            score += a
        }
    }

              注意:
                   ① 假设不加mutating 。编译器会报错
                   ② 不能在结构体常量实例上调用编译方法,由于常量的属性不能被改变



    2. 类方法(Type Methods)
              类型方法和实例方法一样用点语法调用。可是。你是在类型上调用这种方法,而不是在实例上调用。以下是怎样在SomeClass类上调用类型方法的样例:
              和定义类属性一样,结构体中用statickeyword。类中用classkeyword

    struct Student{
        var score = 0
        static func print(){
            println("student")
        }
    }
    class School{
        var name = "NB小学"
        class func print(){
            println("school")
        }
    }
    Student.print() //输出:student
    School.print()  //输出:school


  • 相关阅读:
    初学OptaPlanner-01- 什么是OptaPlanner?
    初学推荐系统-05-Wide&Deep [附tensorflow的WideDeepModel代码简单实践]
    初学推荐系统-04-FM (因子分解机:多特征的二阶特征交叉)
    初学推荐系统-03- 隐语义模型与矩阵分解
    初学推荐系统-02-协同过滤 (UserCF & ItermCF) -附简单示例和优缺点分析
    [Datawhale 10月] 初学推荐系统-01-概述
    TiDB-BR数据备份和恢复工具
    Oracle-估算运行时间长的耗时操作语句
    Hadoop、Spark——完全分布式HA集群搭建
    Hadoop——集群参数配置详解
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10576185.html
  • Copyright © 2020-2023  润新知