swift 下标(下标语法、下标用法)

2023-11-22 09:11:49 浏览数 (2)

类、结构体和枚举都可以定义下标,下标是用于访问集合、列表或序列的成员元素的快捷方式。可以使用下标,设置和获取值,而不用单独的调用对应的存取。例如,用下标访问一个Array实例中的元素可以写作someArray[index],访问Dictionary实例中的元素可以写作someDictionary[key]。

下标语法

使用subscript关键字定义下标,指定一个或多个输入参数和返回类型。与实例方法不同,下标可以是读写或只读。此行为由getter和setter以与计算属性相同的方式传递

代码语言:javascript复制
subscript(index: Int) -> Int {
    get {
      // 返回一个适当的 Int 类型的值
    }

    set(newValue) {
      // 执行适当的赋值操作
    }
}

如果是只读属性,与只读计算属性一样,可以通过删除get关键字及其大括号来简化只读下标的声明

代码语言:javascript复制
subscript(index: Int) -> Int {
    // return an appropriate subscript value here
}

下标用法

比如给一个类添加下标

代码语言:javascript复制
class Student: NSObject {

    var name = ""
    var age = 10
    var height = 170
    
    subscript(index:Int) -> AnyObject{
        switch index{
        case 0:
            return name as AnyObject
        case 1:
            return age as AnyObject
        case 2:
            return height as AnyObject
        default:
            return name as AnyObject
        }
    }
}

//调用
let stu = Student()
stu.name = "海王"
print(stu[0])  //海王
print(stu[1])  //10
print(stu[2])  //170

0 人点赞