IOS开发:Swift中附属脚本的使用说明

news/2024/9/14 0:29:35 标签: swift, 移动开发

附属脚本,说白了就是下标,就是类似数组(Array)的someArray[index]或字典(Dictionary)的someDictionary[key]这种用法。Swfit把这种功能开放了出来,使得我们自定义的类、结构体、枚举也能有这样的功能。这种特性可以让我们非常方便的来访问某些变量。接下里我们举个例子来说明它的用法。

class TenTimes {
    let multiplier: Int = 10
    subscript(index: Int) -> Int {
        return multiplier * index
    }
}
let tenTimes = TenTimes()
print("6的10倍是\(tenTimes[6])")复制代码

可以看到,我们可以使用关键字subscript来自定义我们的下标的使用情况。它的标准写法类似于计算属性,即:

subscript(index: Int) -> Int {
    get {
        // 返回与入参匹配的Int类型的值
    }
    set(newValue) {
       // 执行赋值操作
    }
}复制代码

当然了你也可以像计算属性那样,不写传入参数的名字而直接使用newValue这个默认名字。

上面演示的是通常我们在数组或字典中使用的情况,即下标是一个变量,实际呢,附属脚本支持重载,即你可以给一个类定义多个附属脚本,可以让这个类具有不同的附属脚本,这里我们就不演示了,感兴趣的可以自己测试一下。

原文地址:codeapp:www.code4app.com/blog-919651…


http://www.niftyadmin.cn/n/838098.html

相关文章

java 开发,jsp 页面那个checkbox 框记住密码是怎么实现的?

文章来源:http://wanghaopk.iteye.com/blog/1218009 java 开发,jsp 页面那个checkbox 框记住密码是怎么实现的? 博客分类: java 要实现题目这个功能,我们需要使用Cookie浏览器缓存来做到。Cookie与Session的最大不同&…

在 Confluence 6 中的 Jira 高级权限

启用嵌套用户组(Enable Nested Groups)为嵌套组启用或禁用支持。 在启用嵌套用户组之前,你需要检查你在 JIRA 服务器中的嵌套用户组是否启用了。当嵌套用户组启用成功后,你可以将一根用户组定义为另外一个用户组的成员。如果你使…

linux16.04安装nginx,如何在Ubuntu16.04/18.04上安装 Nginx 1.15.3

Nginx作为流行的Web服务器,现在已经被用在越来越多的项目想,话不多说,下面我们就来谈谈如何在ubuntu上安装最新版的nginx服务器首先,介绍一下目前Nginx官方发布的三个不同版本Mainline version:Mainline 是 Nginx 目前…

java;jsp;tomcat;mysql;hibernate;j2ee 编码中文乱码全面解决方案

文章来源:http://wanghaopk.iteye.com/blog/1118909 java;jsp;tomcat;mysql;hibernate;j2ee 编码中文乱码全面解决方案 博客分类: 设计模式和框架 *************************************java、jsp中设置编码*****************************************…

centos7下使用PlayOnLinux安装windows软件

centos7下使用PlayOnLinux安装windows软件标签:centos /软件 /playonlinu本人系统为centos7 64bit本人在使用wine时遇到了各种各样的问题,折腾了一下午和一晚上也没有解决,总是出现BAD EXE之类的错误…… 听说PlayOnLinux很好用,尝…

Linux不能连接蓝牙音箱,【搁浅St|开发日记】彻底解决dueros连接蓝牙音箱的问题...

蓝牙音箱折腾了两个星期,又有了一些新的体会(之前的见识比较浅薄,所以重新改写了这个帖子)先说结论:蓝牙音箱连接操作略显复杂,声音有延迟,所以还是推荐买个有线的思路:dueros镜像基于的是raspberry jessie镜像来的,蓝牙的解决方案用的是pulseaudio , pulseaudio不推荐使用root…

WPF 为资源字典 添加事件响应的后台类

原文:WPF 为资源字典 添加事件响应的后台类前言,有许多同学在写WPF程序时在资源字典里加入了其它控件,但又想写事件来控制这个控件,但是资源字典没有CS文件,不像窗体XAML还有一个后台的CS文件,怎么办呢? 在…

AE中Shapefile文件添加到SDE数据集

linder_lee 原文 AE中Shapefile文件添加到SDE数据集(c#) 主要完成用C#,通过AE将本地Shapefile文件导入到SDE的指定数据集下面。 首先说下思路: (1) 通过OpenFileDialog打开本地的Shp文件; (2&am…