首页 > 系统 > iOS > 正文

Swift Self详解及简单实例代码

2019-10-21 18:49:52
字体:
来源:转载
供稿:网友

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) }}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


注:相关教程知识阅读请移步到IOS开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表