liangtong


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

  • 搜索

Swift Subscripts

发表于 2016-11-26 | 分类于 iOS | 阅读次数:

​ 下标可以定义在类、结构体和枚举中,为访问集合,列表或序列中元素提供便捷。可以使用下标的索引,设置和获取值,而不需要再调用对应的存取方法。举例来说,用下标访问一个Array实例中的元素可以写作someArray[index],访问Dictionary实例中的元素可以写作someDictionary[key]。

语法

下标允许你通过在实例化对象后边的中括号中添加一个或多个索引值来查询或修改实例。语法类似于实例方法语法和计算型属性语法。通过关键字 subscript 定义,并指定一个或多个输入参数和返回类型;与实例方法不同的是。下标语法可以设定为读写( read-write )或只读( read-only )。这种行为由 getter 和 setter 实现,有点类似计算型属性:

1
2
3
4
5
6
7
8
subscript(index: Int) -> Int {
get {
// return an appropriate subscript value here
}
set(newValue) {
// perform a suitable setting action here
}
}

newValue的类型和下标的返回类型相同。如同计算型属性,可以不指定 setter 的参数(newValue)。如果不指定参数,setter 会提供一个名为newValue的默认参数。如同只读计算型属性,可以省略只读下标的get关键字:

阅读全文 »

Swift Properties

发表于 2016-11-25 | 分类于 iOS | 阅读次数:

​ 属性将值跟特定的类、结构或枚举关联。存储属性存储常量或变量作为实例的一部分,而计算属性计算(不是存储)一个值。计算属性可以用于类、结构体和枚举,存储属性只能用于类和结构体。
存储属性和计算属性通常与特定类型的实例关联。但是,属性也可以直接作用于类型本身,这种属性称为类型属性。
另外,还可以定义属性观察器来监控属性值的变化,以此来触发一个自定义的操作。属性观察器可以添加到自己定义的存储属性上,也可以添加到从父类继承的属性上。

存储属性

简单来说,一个存储属性就是存储在特定类或结构体实例里的一个常量(let)或变量(var)。可以在定义存储属性的时候指定默认值。也可以在构造过程中设置或修改存储属性的值,甚至修改常量存储属性的值。

阅读全文 »

Swift Methods

发表于 2016-11-25 | 分类于 iOS | 阅读次数:

​ 方法是与某些特定类型相关联的函数。类、结构体、枚举都可以定义实例方法;实例方法为给定类型的实例封装了具体的任务与功能。类、结构体、枚举也可以定义类型方法;类型方法与类型本身相关联。类型方法与 Objective-C 中的类方法(class methods)相似。
结构体和枚举能够定义方法是 Swift 与 C/Objective-C 的主要区别之一。在 Objective-C 中,类是唯一能定义方法的类型。但在 Swift 中,你不仅能选择是否要定义一个类/结构体/枚举,还能灵活地在你创建的类型(类/结构体/枚举)上定义方法。

实例方法

实例方法是属于某个特定类、结构体或者枚举类型实例的方法。实例方法提供访问和修改实例属性的方法或提供与实例目的相关的功能,并以此来支撑实例的功能。实例方法的语法与函数完全一致。
实例方法要写在它所属的类型的前后大括号之间。实例方法能够隐式访问它所属类型的所有的其他实例方法和属性。实例方法只能被它所属的类的某个特定实例调用。实例方法只能由实例调用。
下面的例子,定义一个很简单的Counter类,Counter能被用来对一个动作发生的次数进行计数:

阅读全文 »
1…141516…20
liangtong

liangtong

Keep hungry keep foolish!

59 日志
7 分类
17 标签
GitHub E-Mail 微博 知乎
友情链接
  • lidm1989
© 2016 — 2018 liangtong
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4