
作者:Erica Sadun,原文链接,原文日期:2016-04-08
译者:zltunes;校对:numbbbbb;定稿:numbbbbb
据 Chris Lattner 所说,即将发布的 Swift 3 将在我们熟悉的 Cocoa 和 Cocoatouch 上做出重大改变。
在 Swift 3 中,
.blackcolor()变成了.black()。
这一变化包含在将 Objective-C API 转化成 Swift 的提案 SE-0005 中。由于属性名结尾的单词和属性类型已经包含了足够的信息,因此可以删掉 color:
class func darkGraycolor() -> UIcolor// 因此foregroundcolor = .darkGraycolor()// 变成了foregroundcolor = .darkGray()
我简单总结了几条简化规则。记住,如果以下规则(进行简化)产生了一个不合法的结果(空的selector、Swift关键字等),那就不必遵循该规则。
简化 #1:去除相同类型成员前边的类型名称:
let c = mycolor.colorWithAlphaComponent(0.5)// 变为let c = mycolor.withAlphaComponent(0.5)
简化 #2:如果类型名后是 by + 现在分词 动名词 形式,则将 "by" 一同去掉。
let img = myImage.imageByApplyingOrIEntation(o)// 变为let img = myImage.applyingOrIEntation(o)
简化 #3:当方法选择器中含有类型名并满足以下情况时,去掉类型名称:
| 尾部位于: | 需精简部分: |
| --- | --- |
| 引入参数的选择器|参数类型名|
| 属性名称|属性类型名|
| 无参方法名|返回类型名|
documentForURL(_ url: NSURL)var parentContext: NSManagedobjectContext?class func darkGraycolor() -> UIcolor// 变为documentFor(_ url: NSURL)var parent: NSManagedobjectContext?class func darkGray() -> UIcolor
简化 #4:去掉方法名中动词后的类型名:
myVC.dismissVIEwControllerAnimated(...)// 变为myVC.dismissAnimated(...)
总结本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问 http://swift.gg。
以上是内存溢出为你收集整理的准备好迎接 3.0 API 变化全部内容,希望文章能够帮你解决准备好迎接 3.0 API 变化所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)