Swift之下标脚本

下标脚本(Subscripts)

下标脚本 可以定义在类(Class)、结构体(structure)和枚举(enumeration)这些目标中,可以认为是访问集合(collection),列表(list)或序列(sequence的快捷方式,使用下标脚本的索引设置和获取值,不需要再调用实例的特定的赋值和访问方法。举例来说,用下标脚本访问一个数组(Array)实例中的元素可以这样写 someArray[index] ,访问字典(Dictionary)实例中的元素可以这样写 someDictionary[key]

下标脚本语法

subscript(index: Int) -> Int {
    get {
      // 返回与入参匹配的Int类型的值
    }

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

struct Matix {

    

    var arrList = [Int]();

    

    init(arrList: [Int]){

    

        self.arrList = arrList;

    }

    

    func indexValidRow(index: Int) ->Bool{

        

        return index < arrList.count;

    }

    

    subscript(index: Int) ->Int{

    

        get {

            

        assert(indexValidRow(index), "Index out of range");

        return arrList[index];

            

        }

        set {

        

            assert(indexValidRow(index), "Index out of range");

            arrList[index] = newValue;

            

        }

    }

}



你可能感兴趣的:(Swift,下标脚本)