swift:集合类下标

下标是啥

下标穷人版(本人)解释就是在一数据堆(容器)里面找一个想要的数据。这时候下标好比一个“绳子”,通过拽“绳子”一端可以很快的找到“绳子”另外一端我们想要的那个数据。
注: 这里的容器指Array与Dictionary。

下标语法

1.关键字subscript
2.括号内参数有一个或者多个,内置get/set尾闭包(set可选),若没有set则为只读下标。形如:

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

3.取/存语法为关键字后是方括号([]),方括号里面是一个或者多个对应的索引值,索引值间已逗号隔开。形如(接着上面的定义的例子):

var num = Object[indexNumX, indexNumXX]
Object[indexNumX, indexNumXX] = 5 // 非只读, 实现`set`

下标能用来干啥。。。

存在即合理,合理是需要有使用价值的。。好,问题来了。。用来哪里?怎么用?
穷人版枚举 (v . v)
1.传统取值 aArray[index]/ aDictionary["key"] (- -略)
2.多值筛选
与多返回值/扩展特性结合,返回集合内指定下标的子集合:

extension Array {
    typealias ArrayType = Element

    subscript(index1: Int, index2: Int) -> [ArrayType] {
        return [self[index1], self[index2]]
    }
}
// 测试
var array = [1, 3, 4, 6, 7, 8]
println(array[3, 5])
// 结果
[6, 8]

3.业务需求
待续。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值