移动应用
840
附属脚本,说白了就是下标,就是类似数组(Array)的someArray[index]或字典(Dictionary)的someDictionary[key]这种用法。Swfit把这种功能开放了出来,使得我们自定义的类、结构体、枚举也能有这样的功能。这种特性可以让我们非常方便的来访问某些变量。接下里我们举个例子来说明它的用法。
class TenTimes { let multiplier: Int = 10 subscript(index: Int) -> Int { return multiplier * index } } let tenTimes = TenTimes() print("6的10倍是\(tenTimes[6])")
可以看到,我们可以使用关键字subscript来自定义我们的下标的使用情况。它的标准写法类似于计算属性,即:
subscript(index: Int) -> Int { get { // 返回与入参匹配的Int类型的值 } set(newValue) { // 执行赋值操作 } }
当然了你也可以像计算属性那样,不写传入参数的名字而直接使用newValue这个默认名字。
上面演示的是通常我们在数组或字典中使用的情况,即下标是一个变量,实际呢,附属脚本支持重载,即你可以给一个类定义多个附属脚本,可以让这个类具有不同的附属脚本,这里我们就不演示了,感兴趣的可以自己测试一下。
广告