Swift学习笔记系列——10方法

Tags: Swift 学习笔记

发布时间:2015-07-20
修改时间:2015-07-20
作者:Erwin
博客地址:技术杂货铺
欢迎转载,转载请注明出处。

Swift学习笔记系列——(10)方法

类、结构体和枚举都可以定义方法,而OC中只有类可以这样做。
方法分为:实例方法和类型方法。前者属于类型的一个实例,后者属于类型。

实例方法

语法和函数一样。

方法的本地和外部参数名称

默认情况下,Swift方法的第一个参数名之作为本地名字使用,但是后面的参数名同时作为内部和外部参数名使用。
没必要在给第一个参数定义外部参数名称,因为第一个参数的意义很清楚了。在方法调用的时候,从第二个参数开始,就需要制定参数的外部名称了。
这样的要求和OC中一致。

变更方法的外部参数名行为

指定外部参数名

使用“#”前缀标记内部名;指定一个外部参数名

不指定外部参数名

使用“_”放置在内部参数名之前

self属性

指代实例自身。
在方法内,多数情况下self不必写。
方法的参数名和实例的属性名相同,这时不得不用self区分二者,不写self都会被当作参数处理。

在实例方法中修改值类型

注意:不是修改类型属性

结构体和枚举是值类型的。默认情况下,值类型的属性无法通过它的实例方法进行修改。
用“mutating” 标记方法,称为变异方法。
变异方法可以在方法内可以修改属性,而且任何做过的修改在方法结束后会写回到原始的结构中。变异方法也可以分配一个新的实例给它隐含的self,当方法结束,新的实例将会替代原来已经存在的。

在变异方法中给self赋值

类型方法

用“static”标记类型方法,对于类中允许子类复写的类型方法,用“class”关键字标记。
类型方法中的selft指代类型,而不是实例。
同样类型方法中的引用,默认为类型本身的属性和方法。
要理解结构体和枚举的类型 和实例的区别。

本章思维导图

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...