swift mutating关键字的用法
2015-10-28 14:43
429 查看
在 swift 中,包含三种类型(type): structure , enumeration , class。其中structure和enumeration是值类型( value
type ),class是引用类型( reference type )。虽然结构体和枚举可以定义自己的方法,但是默认情况下,实例方法中是不可以修改值类型的属性。为了能够在实例方法中修改属性值,可以在方法定义前添加关键字 mutating。如下:
struct
Point {
var
x = 0,
y = 0
mutating
func moveXBy(x:Int,yBy y:Int) {
self.x
+= x
self.y
+= y
}}
var
p = Point(x: 5,
y: 5)
p.moveXBy(3,
yBy: 3)
type ),class是引用类型( reference type )。虽然结构体和枚举可以定义自己的方法,但是默认情况下,实例方法中是不可以修改值类型的属性。为了能够在实例方法中修改属性值,可以在方法定义前添加关键字 mutating。如下:
struct
Point {
var
x = 0,
y = 0
mutating
func moveXBy(x:Int,yBy y:Int) {
self.x
+= x
self.y
+= y
}}
var
p = Point(x: 5,
y: 5)
p.moveXBy(3,
yBy: 3)
相关文章推荐
- swift学习笔记(1)--基本数据类型
- cocoapods - 在swift中使用pods导入objective-c类库
- 基于swift的UItableview
- 发现意外之美 - SwiftyJSON 源码学习 | 咖啡时间
- 《从零开始学Swift》学习笔记(Day 28)——总结使用问号(?)和感叹号(!)
- swift-通知的基本使用
- Swift自适应布局(Adaptive Layout)教程(一)
- swift-辞典NSDictionary定义,变化的关键,删/加入关键
- 【iOS】Swift LAZY 修饰符和 LAZY 方法
- 【iOS】Swift LAZY 修饰符和 LAZY 方法
- 10.28,python,django中templates的奇偶性,python,swift多语言文件转android多语言文件
- ios学习之swift杂谈
- Swift闭包(Closures)
- iOS Swift+Foundation学习笔记
- swift-UITableView的基本使用
- swift调用支付宝
- OC与Swift混编
- swift算法实践(2)
- swift算法实践(1)
- SwiftSocket 接收服务端byte[] 本地转换