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

前端之家收集整理的这篇文章主要介绍了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指代类型,而不是实例。
同样类型方法中的引用,默认为类型本身的属性方法
要理解结构体和枚举的类型 和实例的区别。

本章思维导图

猜你在找的Swift相关文章