- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
方法 - Methods
⽅法 - Methods
⽅法 - Methods
⽅法是与特定类型相关联的函数。类、结构体以及枚举均可以定义实例⽅法,该⽅法
为 定类型的实例封装了特定的任务与功能。类、结构体以及枚举也能定义类型⽅
法,该⽅法与类型⾃⾝相关联。类型⽅法类似于在 Objective-C 中的类⽅法。
在 Swift 中,结构体和枚举能够定义⽅法;事实上这是 Swift 与 C/Objective-C 的主要
区别之⼀。在 Objective-C 中,类是唯⼀能定义⽅法的类型。在 Swift 中,你可以选择
是否定义⼀个类、结构体或枚举,且仍可以灵活地对你所创建的类型进⾏⽅法的定
义。
实例⽅法
实例⽅法是某个特定类、结构体或枚举类型的实例的⽅法。他们通过提供访问的⽅式
和修改实例属性,或提供与实例⽬的相关的功能性来⽀持这些实例的功能性。准确的
来讲,实例⽅法的语法与函数完全⼀致,参考函数说明。
实例⽅法要写在它所属的类型的前后括号之间。实例⽅法能够访问他所属类型的所有
的其他实例⽅法和属性。实例⽅法只能被它所属的类的特定实例调⽤。实例⽅法不能
被孤⽴于现存的实例⽽被调⽤。
下⾯定义⼀个简单的类 Counter 的⽰例 (Counter 可以⽤来对⼀个动作发⽣的次数进
⾏计数):
class Counter {
var count = 0
func increment() {
count++
}
func incrementBy(amount: Int) {
count += amount
}
func reset() {
count = 0
}
}
类 Counter 可以定义三种实例⽅法:
increment 让计数器按⼀递增
incrementBy(amount: Int) 让计数器按⼀个 定的整数值递增
reset 将计数器重置为 0
Counter 这个类还声明了⼀个可变属性 count,⽤它来保持对当前计数器值的追
踪。
和调⽤属性⼀样,⽤点语法调⽤实例⽅法:
let counter = Counter()
// the initial counter value is 0
counter.increment()
// the counters value is no 1
counter.incrementBy(5)
// the counters value is no 6
counter.reset()
// the counters value is no 0
⽅法的局部参数名称和外部参数名称
函数参数有⼀个局部名称 (在函数体内部使⽤)和⼀个外部名称 (在调⽤函数时使
⽤),参考外部参数名称。对⽅法参数也是⼀样的,因为⽅法仅仅是与某⼀类型相关
的函数。但是,局部名称和外部名称的默认⾏为不同于函数和⽅法。
在 Swift 中的⽅法和在 Objective-C 中的⽅法极其相似,像在 Objective-C ⼀样,在
Swift 中⽅法的名称名称通常⽤⼀个介词 向⽅法的第⼀个参数,⽐如: ith、for
以及 by 等等,前⾯的 Counter 类的例⼦中 incrementBy ⽅法就是这样的。当其被访
问时,介词的使⽤使⽅法可被解读为⼀个句⼦介词的使⽤让⽅法在被调⽤时能像⼀个
句⼦⼀样被解读。Swift 这种⽅法命名约定很容易落实,因为它是⽤不同的默认处理
⽅法参数的⽅式,⽽不是⽤函数参数 (来实现的)。
具体来说,Swift 默认仅给⽅法的第⼀个参数名称⼀个局部参数名称;但是默认同时
给第⼆个和后续的参数名称局部参数名称和外部参数名称。这个约定与典型的命名和
调⽤约定相匹配,这与你在写 Objective-C 的⽅法时很相似。这个约定还让 expressive
method 调⽤不需要再检查/ 限定参数名。
看看下⾯这个 Counter 的替换版本 (它定义了⼀个更复杂的 incrementBy ⽅
法):
class Counter {
var count: Int = 0
func incrementBy(amount: Int, numberOfTimes: Int) {
您可能关注的文档
- 文员工作内容 Microsoft Word 文档1.doc
- 文化生活第六课课时练.doc
- 文学类文本阅读(学案)2.docx
- 文学资源与文化创意产业的发展空间_从_木兰_省略__花木兰_的演变看美国文化大众.pdf
- 文本图像水印在电子政务中的应用研究.pdf
- 文本、图片、声音等资源文件在VB程序中的应用.pdf
- 文本文件的加密与解密任务书.docx
- 文本相似检测(simhash, singling).docx
- 文档中,每段文字的开头有两个小方框.pdf
- 文档钢芯铝绞线比重电线电缆计算公式第一部分.doc
- 2025年中国翻斗车倒档齿轮行业市场调查、投资前景及策略咨询报告.docx
- 2025年新消费品牌爆品打造策略创新与竞争分析报告.docx
- 职业教育数字化资源共享体系构建与评估报告.docx
- 2025年综合类-电子产品维修工-初级家用电子产品维修工历年真题摘选带答案(5卷单选题100题).docx
- 宠物社交平台个性化推荐算法应用研究.docx
- 宠物社交平台2025年用户粘性增长策略深度剖析.docx
- 2025年跨境电商美妆工具品牌化运营的知识产权布局策略.docx
- 宠物社交平台2025年用户行为与市场竞争力评估与优化策略.docx
- 2025年综合类-烟机设备修理工考试-制丝设备修理工技师历年真题摘选带答案(5套单选100题合辑).docx
- 绿色建筑材料市场推广策略与2025年政策导向深度研究分析报告.docx
文档评论(0)