下标脚本(subscript)

可以使用在类,结构体,枚举中
提供一种类似于数组或者字典通过下标来访问对象的方式

subscript可以重载,就是一个类可以定义多个下标脚本
可以设置为只读和读写
一、语法
参数不可以是inout类型参数,且参数不能有默认值

subscript(参数1,参数2...)->返回值{  get{  }  set(newValue){  }
}  

二、举例
例子一
简单的通过下标脚本访问属性

import UIKitstruct Zone{var x : Double = 0.0var y : Double = 0.0var z : Double = 0.0subscript(index : Int) -> Double?{get{switch index {case 0 : return xcase 1 : return ycase 2 : return zdefault : return nil}}set {guard let newValue = newValue else {return}switch index {case 0 :  x = newValuecase 1 : y = newValuecase 2 : z = newValuedefault : return}}}}var zone = Zone(x: 2, y: 3, z: 4)
zone.x
zone[0]
zone[0] = 10//只有subscript设置了set才可以通关此方法设置值
zone.x//此时的zone.x的值为10

swift:自定义下标(subscript)相关推荐

  1. Swift Tips - 在 Swift 中自定义下标访问

    Untitled Document.md 在 Swift 中,我们可以使用下标轻松的访问数组中的元素.比如这样: var numbers:Array = [1,2,3,4,5] println(num ...

  2. swift_022(Swift 的下标脚本)

    //***********swift学习之22--下标脚本--*************************** // 就是说用下标脚本访问一个数组(Array)实例中的元素可以这样写 someA ...

  3. swift:自定义UICollectionViewFlowLayout

    swift:自定义UICollectionViewFlowLayout 写作目的 UICollectionView是ios中一个十分强大的控件,利用它能够十分简单的实现一些很好看的效果.UIColle ...

  4. Swift中的subscript

    Swift中通过subscript来定义角标 其中 类.结构体和枚举都可以定义subscripts, 就像数组一样使用一个实例 如下面的代码例子 struct TimesTable { let mul ...

  5. swift 自定义滑动视图_在Swift中创建一个向上滑动菜单视图(以编程方式)

    swift 自定义滑动视图 This is a quick tutorial on how to create a slide-up menu view in iOS 这是有关如何在iOS中创建向上滑 ...

  6. 创建 Swift 自定义集合类

    原文:Building a Custom Collection in Swift 作者:Eric Cerney 译者:kmyhy 数组.字典和集合是常见的集合类型,它们都内置在 Swift 标准库中. ...

  7. Swift - 自定义UIActivity分享

    UIActivity可以十分方便地将文字.图片等内容进行分享,比如分享到微信.微博.发送邮件.短信等等.我们不仅可以分享内容出来,也可以在自己的App里添加自己的分享按钮或隐藏已有的分享按钮来实现定制 ...

  8. Swift - 自定义单元格实现微信聊天界面

    1,下面是一个放微信聊天界面的消息展示列表,实现的功能有: (1)消息可以是文本消息也可以是图片消息 (2)消息背景为气泡状图片,同时消息气泡可根据内容自适应大小 (3)每条消息旁边有头像,在左边表示 ...

  9. swift 自定义TabBarItem

    1.效果图     2.NewsViewController.swift [objc] view plaincopy // //  NewsViewController.swift //  Navig ...

最新文章

  1. 怎样写出一个较好的高速排序程序
  2. 乌心工作!又被测试给搞了!!!
  3. Xamarin.Forms开发实战基础篇大学霸内部资料
  4. 一篇文章讲清Go的内存布局和分配原理
  5. 利用TICK搭建Docker容器可视化监控中心
  6. python三层设计_推荐3个Python实现算法和设计模式的工具
  7. 解决 jersey 单jar包 IME media type text/plain was not found.
  8. 获取页面iframe里的元素
  9. Pycharm汉化包+操作步骤
  10. 机顶盒系统升级服务器,服务器及其软件升级方法、IP机顶盒及其软件升级方法...
  11. 计算机c盘用户里的APPDATA,appdata是什么文件夹 C盘Appdata文件能不能删除?
  12. python短文本数据集的关联性_短文本分析----基于python的TF-IDF特征词标签自动化提取...
  13. Apache Pulsar 生态项目 AoP 新增两位中国移动 Maintainer!
  14. excel计算机一级打不开,电脑上的所有excel表格都打不开怎么处理?
  15. QTdesigner前后端交互--结节算法实战
  16. 使用requests库用cookie登录简书账号
  17. 2021/11/27大数据1+XJava答案
  18. js下firstElementChild以及firstChild,Children的用法
  19. 与别人分享,别人与你分享
  20. AMLOGIC S905X3 平台上实现IR BLASTER

热门文章

  1. java new thread参数_java开启新线程并传参的两种方法
  2. 关于Template引用参数的问题
  3. java中个各进制中的转换,十进制转十六进制,十六进制转十进制等
  4. ChatGPT和一群HAM的对话
  5. leetcode系列-219. 存在重复元素 II
  6. Idea工具,窗口布局全乱了,怎样恢复到原始界面,但又不用重新导入项目?
  7. php 获取agent,php根据useragent获取手机品牌和型号
  8. 基于ATmega16的自适应电压表
  9. matlab坐标污染物浓度,如何用MATLAB画粒子空间分布图,并以颜色的深浅表示浓度?...
  10. Python自动发邮件总结及说明