微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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指代类型,而不是实例。
同样类型方法中的引用,认为类型本身的属性方法
要理解结构体和枚举的类型 和实例的区别。

本章思维导图

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐