Swift Self详解及简单实例代码
2019/7/9 23:04:47
本文主要是介绍Swift 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) } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
这篇关于Swift Self详解及简单实例代码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12Axios库资料:新手入门必读教程
- 2024-11-11Axios库项目实战:新手入门教程
- 2024-09-29Axios库教程:初学者必备指南
- 2024-08-29Axios库资料:新手入门指南与基本使用教程
- 2024-03-14system bios shadowed
- 2024-03-14gabios
- 2024-02-07iOS应用提交上架的最新流程
- 2024-02-06打包 iOS 的 IPA 文件
- 2023-12-07uniapp打包iOS应用并通过审核:代码混淆的终极解决方案 ?
- 2023-11-25uniapp IOS从打包到上架流程(详细简单) 原创