Swift下标(Subscripts)

在Swift中,类、结构体和枚举都是支持下标语法的。

什么是下标语法?使用过数组、字典的朋友都见过array[index]。通过这样的方式可以设置数据和取数,会很方便也很简洁。你可以给一个类定义多个下标,也可以在一个下标中定义一个或多个参数。

下标的关键字是subscript,常用格式如下:

subscript(index: Int) -> Int {
    get {
        // return an appropriate subscript value here
    }
    set(newValue) {
        // perform a suitable setting action here
    }
}

下面我们以数组为例,给大家介绍下标的创建和使用。

/// array结构体
struct TestArray {

    /// 内部数组
    var array = Array<Int>()

    // MARK: 下标使用
    subscript(index: Int) -> Int {
        get {
            assert(index < array.count,"下标越界")
            return array[index]
        }
        set {
            while array.count <= index {
                array.append(0)
            }
            array[index] = newValue
        }
    }
}

var array = TestArray()
array[3] = 4; // 通过下标设置值
print("\(array[3])") // 4
print("\(array[4])") // 程序停止

其他

参考资料

The Swift Programming Language (Swift 2.1)

文档修改记录

时间 描述
2015-10-30 根据 The Swift Programming Language (Swift 2.1)中的Subscripts总结

版权所有:http://blog.csdn.net/y550918116j

相关文章

Swift 正式开源!Swift 团队很高兴宣布 Swift 开始开源新篇章。自从苹果发布 Swfit 编程语言,就成为了...
快,快,快!动动您的小手,分享给更多朋友! 苹果去年推出了全新的编程语言Swift,试图让iOS开发更简单...
开发者(KaiFaX) 面向开发者、程序员的专业平台! 和今年年初承诺的一样,苹果贴出了Swift语言的源码,...
本文由@Chun发表于Chun Tips :http://chun.tips/blog/2014/12/11/shi-yong-swift-gou-jian-zi-ding-yi...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...