资讯专栏INFORMATION COLUMN

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

Drummor / 1318人阅读

摘要:附属脚本,说白了就是下标,就是类似数组的或字典的这种用法。接下里我们举个例子来说明它的用法。的倍是可以看到,我们可以使用关键字来自定义我们的下标的使用情况。

附属脚本,说白了就是下标,就是类似数组(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:http://www.code4app.com/blog-...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/16843.html

相关文章

  • swift3学习笔记

    摘要:只将需要改变的值声明为变量。使用或者方法来判断一个合是否是另外一个合的子合或者父合并且两个合并不相等。 一直没有时间好好看一下swift,最近复习了一遍语法,这里记录swift学习过程中遇到的一些问题和要点,和Object-C的一些相关特性这里也不做介绍,只记录swift特有的一些特性swift借鉴了很多语言的语法,特别是脚本语言,在swift里,可以看到python语言的一些影子,还...

    txgcwm 评论0 收藏0
  • iOS开发系列--代码混淆

    摘要:以下内容大部分来源于实现原理其实插件的实现方式十分简单,提取用户编写的文件中的方法名,使用宏定义将其更换为任意的无规则字符串。 由于iOS系统的封闭性,相对于安卓来说,iOS开发过程中代码混淆可能就显得并不是得非有不可了。但是在安全性(可通过class-dump反编译暴露出类的方法名)和特殊需求上(例如马甲包的混淆过审)还是有一定需求的!此脚本借鉴于kaich/codeobscure。...

    zhichangterry 评论0 收藏0
  • iOS开发系列--代码混淆

    摘要:以下内容大部分来源于实现原理其实插件的实现方式十分简单,提取用户编写的文件中的方法名,使用宏定义将其更换为任意的无规则字符串。 由于iOS系统的封闭性,相对于安卓来说,iOS开发过程中代码混淆可能就显得并不是得非有不可了。但是在安全性(可通过class-dump反编译暴露出类的方法名)和特殊需求上(例如马甲包的混淆过审)还是有一定需求的!此脚本借鉴于kaich/codeobscure。...

    chenatu 评论0 收藏0
  • iOS 开发使用 pre-commit hook

    摘要:如果想要在最早期阻止一些常见的错误,我们可以使用。支持很多,是一些在目录中的脚本,由特定的事件触发执行。但是它们绝对不应该被提交,否则可能无意中改变一些东西,造成其他所有测试都被禁用,还会隐藏一些严重的问题。 许多人写了单元测试并且运行持续集成服务器来检查 pull requests,我们还可以利用像 Danger 这样强大的工具。 showImg(https://segmentfau...

    Caicloud 评论0 收藏0
  • SegmentFault 技术周刊 Vol.25 - Swift 开发:从入门到重新入门

    摘要:开源万岁在的大会上,苹果宣布将开源。此外苹果还将公开发布在标准许可下的的源代码,包括编译器和标准库,开放的源代码端口,开发者可以在上编写程序。不难看出,苹果这些举动意在鼓励开发者从而进一步推动的发展。 showImg(https://segmentfault.com/img/bVOTJe?w=900&h=385); 万众瞩目的 WWDC 2017 已经落下帷幕,对于 Swift 开发者...

    ytwman 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<