Swift学习笔记(12)—— 下标脚本

呼呼,上周好忙,一直没时间,今天开始继续学习……


12.下标脚本

就是类似于数组下标、字典下标的实现方式。

语法

在类、结构体、枚举了类型中,用subscript关键字定义。

class C {

    var a : Int = 10
    var b : Int = 20

    subscript (index: Int) -> Int{
        set(newValue){
            if( index % 2 == 1){
                a = index
            }else{
                b = index
            }
        }
        get{
            if( index % 2 == 1){
                return a
            }else{
                return b
            }
        }
    }

    //如果只有get没有set时,可以把get关键字省去,直接把语句写到subscript里面。  
    subscript (index: String) -> String{
        return index+index
    }
}

var c = C()
println(c[0])           //20
println(c[1])           //10
println(c[10011])       //10
println(c[10086])       //20

跟属性的定义类似啊。

脚本的下标可以是多个

比如a[2,1]这样的形式,在定义脚本的时候要多个参数即可。

可以定义多个脚本

只要脚本的参数类型或个数不同即可。



这笔记只是给我自己看的,用以标记一些我觉得需要记的或者有意思的一些知识点,有很多我觉得没必须要赘述的东西就没记,所以是不系统的,只作提示用。
感谢 numbbbbb以及其他贡献者: https://github.com/numbbbbb/the-swift-programming-language-in-chinese
当然,还有英文页: https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/BasicOperators.html#//apple_ref/doc/uid/TP40014097-CH6-XID_70


http://www.barryzhang.com/archives/266

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*