欢迎来到代码驿站!

iOS代码

当前位置:首页 > 移动开发 > iOS代码

Swift Self详解及简单实例代码

时间:2021-09-20 09:09:59|栏目:iOS代码|点击:

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自定义UICollectionViewFlowLayout实现图片浏览效果

栏    目:iOS代码

下一篇:iOS 禁止按钮在一定时间内连续点击

本文标题:Swift Self详解及简单实例代码

本文地址:http://www.codeinn.net/misctech/176345.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有