这篇文章主要介绍了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)
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
沃梦达教程
本文标题为:Swift Self详解及简单实例代码
基础教程推荐
猜你喜欢
- Android自定义View验证码输入框 2023-02-04
- iOS如何去掉导航栏(UINavigationBar)下方的横线 2023-03-07
- 详解ios11中estimatedRowHeight属性 2023-04-24
- Android自定义View实现地铁显示牌效果 2023-01-01
- android: targetSdkVersion升级中Only fullscreen activities can request orientation问题的解决方法 2022-11-05
- Android socket如何实现文件列表动态访问 2023-04-05
- iOS输入框的字数统计/最大长度限制详解 2023-06-03
- Android Kotlin使用SQLite案例详解 2023-04-16
- 如何在iOS中高效的加载图片详解 2023-07-02
- Android Studio实现下拉列表效果 2023-05-23
