ios – 迁移到惯用的Swift 2的核对清单(AKA在哪里是Swift 2过渡指南)?

ios – 迁移到惯用的Swift 2的核对清单(AKA在哪里是Swift 2过渡指南)?,第1张

概述我一直在尝试找到 Swift 2的过渡指南,特别是开发人员在将Swift 1 / 1.2代码库迁移到Swift 2时应该注意的事情.显然你在Xcode中有迁移助手,但这只能真正涵盖了驴子工作,而不是需要更多智慧思想的东西. 基于我在Swift 2上找到的资源,我整理了以下清单: > try / catch / throw错误处理 – 用于可恢复的错误;相应地修改错误处理代码.特别是,检查NSErr 我一直在尝试找到 Swift 2的过渡指南,特别是开发人员在将Swift 1 / 1.2代码库迁移到Swift 2时应该注意的事情.显然你在Xcode中有迁移助手,但这只能真正涵盖了驴子工作,而不是需要更多智慧思想的东西.

基于我在Swift 2上找到的资源,我整理了以下清单:

> try / catch / throw错误处理 – 用于可恢复的错误;相应地修改错误处理代码.特别是,检查NSError的所有使用并回调代理报告可恢复的错误.
>使用符合ErrorType的枚举来定义您自己有意义的错误.
>使用#available访问较新的平台API – 检查针对应用程序部署目标的API使用并相应地进行修改
>协议扩展 – 将尽可能多的代码移动到这些代码中以帮助重用.特别是将全局函数重构为协议扩展.
>可空性注释&泛型 – 删除多余的可选绑定和类型转换
>使用do {}来控制范围并尽早释放大量资源
>移动旧的do {…} while循环重复{}(以消除歧义并提高可读性)
>使用警卫提前返回并避免过度压痕
>使用延迟清理代码,如关闭文件等.
>使用选项集而不是将值进行OR运算(例如vIEwAnimationoptions = [.Repeat,.CurveEaseIn,.TransitionCurlUp])
>查看以前仅需要支持测试的公共访问者说明符.使用@testable并导入MyApp.
>将单例switch语句移动到新的if case .MyEnumCase(let value)= bar()其中value!= 42 {doThing(value)}
>使用“for … in”过滤来清理包含if过滤语句的循环,例如mySequence中的值,其中value!=“”{}
>对C函数指针的本机支持 – 提供使用闭包或全局函数(在执行此 *** 作时不捕获本地上下文)
>修复任何新的let / var警告
>修复任何未使用的变量警告
>在调用super.init之前,可用的初始化程序现在可以返回nil – 删除任何以前需要的解决方法.在返回nil之前,指定的初始化程序仍然必须初始化所有存储的属性.

资料来源:

https://developer.apple.com/swift/blog/?id=29

https://developer.apple.com/swift/

https://developer.apple.com/library/prerelease/ios/releasenotes/DeveloperTools/RN-Xcode/Chapters/xc7_release_notes.html#//apple_ref/doc/uid/TP40001051-CH5-SW1

https://developer.apple.com/videos/wwdc/2015/?id=106

http://www.raywenderlich.com/108522/whats-new-in-swift-2

我错过了什么?

部分问题是Swift 2继续在WWDC之后发展.因此,即使是今年的WWDC视频已经可能已经过时,或者至少不是整个故事.

解决方法 不幸的是,目前还没有来自Apple的官方“过渡指南”.

每当他们发布新版本的Swift时,Apple都会更新The Swift Programming Language (Swift 2),因此它是获取Swift 2(或更高版本)最新信息的最佳来源之一.整个语言有很多解释和示例代码,而不仅仅是更改,但这绝对是您现在正在寻找的信息的最佳来源.

总结

以上是内存溢出为你收集整理的ios – 迁移到惯用的Swift 2的核对清单(AKA在哪里是Swift 2过渡指南)?全部内容,希望文章能够帮你解决ios – 迁移到惯用的Swift 2的核对清单(AKA在哪里是Swift 2过渡指南)?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1103272.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存