美文网首页Swift
Swift - Subscripts

Swift - Subscripts

作者: ienos | 来源:发表于2018-10-23 16:26 被阅读8次
  • 输入参数能够为任意类型,Subscripts 能够返回任意类型
  • 能够使用多变参数,但是不能使用输入输出参数和默认参数值
  • 一个类和结构体能够提供许多下标实现
  • 定义多个 Subcripts 被称为 Subscripts overloading
// 和计算属性用法相似
subscript(index: Int) -> Int {
     get {
     }
     set(newValue) {
     }
}

Usage

struct TimesTable {
    let multiplier: Int
    subscript(index: Int) -> Int {
        return multiplier * index
    }
}
let threeTimesTable = TimesTable(multiplier: 3)
print("six times three is \(threeTimesTable[6])")

Dictionary

var numberOfLegs = ["spider": 8, "ant": 6, "cat": 4]
numberOfLegs["bird"] = 2
numberOfLegs["spider"] = nil // 移除 key
numberOfLegs["bird"] // return Optional

Multiple Parameter

struct Martix {
    let rows: Int, columns: Int
    var grid: [Double]
    init(rows: Int, columns: Int) {
        self.rows = rows
        self.columns = columns
        grid = Array(repeating: 0.0, count: rows * columns)
    }
  
    func indexIsVaild(row: Int, column: Int) -> Bool {
        return row >= 0 && row < rows && rolumn >= 0 && column < columns
    }

    subscript(row: Int, column: Int) -> Double {
        get {
            assert(indexIsVaild(row: row, colum: colum), "Index out of range")
            return grid[(row * columns) + column]
        }
        set {
            assert(indexIsVaild(row: row, column: column), "Index out of range")
            grid[(row * columns) + column] = newValue
        }
    }
}

相关文章

  • iOS项目从 Swift3.2 升级到 Swift4.0 报错解

    Swift3.2 --> Swift4.0 报错 Subscripts returning String wer...

  • 05 来,自定义一个swift的subscript

    本文参考原文为Implementing Custom Subscripts in Swift,欢迎阅读原文。 下标...

  • Swift - Subscripts

    输入参数能够为任意类型,Subscripts 能够返回任意类型 能够使用多变参数,但是不能使用输入输出参数和默认参...

  • 【Swift 3.1】12 - 下标 (Subscripts)

    下标 (Subscripts) 自从苹果2014年发布Swift,到现在已经两年多了,而Swift也来到了3.1版...

  • Swift-下标(Subscripts)

    类,结构和枚举可以定义下标,它们是访问集合,列表或序列的成员元素的快捷方式。 您可以使用下标来按索引设置和检索值,...

  • Swift基础教程--Subscripts

    简单的定义一个下标方法subscript (name:String){ ...} 在下标语法中,参数不能用ino...

  • 10-Swift下标脚本(Subscripts)

    下标脚本可以定义在类、结构体和枚举中,即是访问集合、列表、学列的快捷方式,使用下标脚本的索引设置和获取值,不需要再...

  • Swift4 基础部分: Subscripts

    本文是学习《The Swift Programming Language》整理的相关随笔,基本的语法不作介绍,主要...

  • Subscripts

    附属脚本可用于类、结构体和枚举。通过在[]内传入一个或多个参数,得到返回值。例如someArray[index]、...

  • Subscripts

    Subscripts can be defined in Classes, Stuctures and Enmue...

网友评论

    本文标题:Swift - Subscripts

    本文链接:https://www.haomeiwen.com/subject/qejazftx.html