Chinaunix首页 | 论坛 | 博客
  • 博客访问: 139070
  • 博文数量: 47
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 547
  • 用 户 组: 普通用户
  • 注册时间: 2014-09-01 08:57
个人简介

一个人的生活 新奇视 新感觉 www.x74.cn

文章分类

全部博文(47)

文章存档

2018年(20)

2017年(25)

2015年(1)

2014年(1)

我的朋友

分类: iOS平台

2017-11-21 15:40:22

附属脚本,说白了就是下标,就是类似数组(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这个默认名字。


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


原文地址::http://www.code4app.com/blog-919651-1536.html
阅读(1417) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~