方法 - Methods.pdfVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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) {

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档