Swift Self详解及简单实例代码
程序员文章站
2023-12-21 11:06:22
swift中self的使用
用于消除访问属性,调用方法时所产生的歧义。
当函数的参数名和自身的属性名同名时,例如:
/*
使用self指明被访问的是...
swift中self的使用
用于消除访问属性,调用方法时所产生的歧义。
当函数的参数名和自身的属性名同名时,例如:
/* 使用self指明被访问的是自身属性还是参数 */ class aclass { var greeting: string init(greeting: string) { // 使用self区分属性和参数 self.greeting = greeting } }
在便利构造函数中调用自身的指定构造函数时,例如:
convenience init() { /* 必须使用self,因为按照二段构造的规则, 在第一阶段初始化完成之前, 无法使用self, 而且由于面向对象语言的特性, 所有的初始化方法名都是init, 没有self,系统不知道调用谁的init */ self.init() // 进行初始化 }
闭包中访问自身属性和调用自身方法时,例如:
uiview.animatewithduration(0.25) { () -> void in /* 闭包可能被抛出,其必须知道其中的方法和属性属于谁, 所以要用self */ self.layoutifneeded() }
被mutating修饰的值类型方法中,修改self属性时,例如:
struct point { var x = 0.0, y = 0.0 mutating func movebyx(deltax: double, y deltay: double) { self = point(x: x + deltax, y: y + deltay) } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!