• Swift-全局变量、局部变量、方法和下标


    //1.全部变量和局部变量

    struct SomeStruct {
        static var storedTypeP = "SomeValue"
        static var computedTypeProperty:Int {return 1}
    }
    enum SomEnum {
        static var storedTypeP = "SomeValue"
        static var computedTypeProperty:Int {return 4}
    }
    class SomeClass {
        static var storedTypeP = "SomeValue"
        static var computedTypeProperty:Int {return 29}
        class var overrideComputedTypeP: Int {
            return 107
        }
    }
    //计算属性(类名.方法名)
    print(SomeStruct.storedTypeP)  
    print(SomEnum.computedTypeProperty)
    print(SomeClass.computedTypeProperty)

    2.类方法和实例方法:

    class Student {
        //实例方法
        func sayHello() {
            print("Hello")
        }
    }
    //在结构体或者枚举中使用static 在类中使用class
    //实例方法
    var newStudent = Student()
    newStudent.sayHello()
    //类方法
    var d = -12.3
    if d.isLess(than: 0) {//判断是否是负数
      d = abs(d)//类方法 取绝对值 这个是个泛型,传入参数是什么类型,出来是什么类型
     }
    print(d)//结果:12.3

    3.下标:

    //下标 subscript
    struct TimerOfNum {
        let num:Int //作为结构体的常量属性
        subscript(index:Int) -> Int { //定义一个下标,返回它和外界传入参数的乘积
            return num * index
        }
        subscript(index:Int,index2:Int) -> Int {
            return num * index + index2
        }
    }

    使用:

    let timerOfFive = TimerOfNum(num: 5)
    print(timerOfFive[3])//输出结果:15
    //根据参数不同,调用不同的下标 参数名称是隐藏的
    print(timerOfFive[4,5])//输出结果:25
  • 相关阅读:
    19-10-31-B
    19-10-30-Night-V
    19-10-30-C
    19-10-29-Night-X
    19-10-29-Z
    19-10-28-A
    19-10-27-S
    19-10-26-Night-D
    留言板
    优秀博客存档
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/Swift_Subscript.html
Copyright © 2020-2023  润新知