zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    android gridview画分割线,如图:
    Devexpress 之gridControl
    Devexpress 之gridControl双击行事件
    Devexpress之popupMenu
    Devexpress之dxErrorProvider
    DevExpress之lookupedit
    Devexpress 汉化 代码 zt
    Devexpress之DateEdit学习,可选择日期时 zt
    Devexpress之barManager
    devpress 很好的中文论坛
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/Swift_Subscript.html
Copyright © 2011-2022 走看看