一尘不染

不推荐使用“ ++”:在Swift 3中将其删除

swift

更新到后Xcode 7.3,我的项目中会显示很多警告。

’++’已过时:它将在 Swift 3中* 删除 *

有解决此警告的想法吗?++--将来会被弃用的任何原因是什么?


阅读 256

收藏
2020-07-07

共1个答案

一尘不染

从Swift 2.2开始,您应该使用+= 1-= 1代替。

在查看了Swift的发展之后,有一些删除这些运算符的原因:

  1. 这些运算符增加了学习Swift作为第一门编程语言的负担-或在其他情况下您还不了解其他语言的运算符。

  2. 它们的表达优势极小-x ++比x + = 1短很多。

  3. Swift已经偏离C,因为=,+ =和其他类似赋值的操作返回Void(出于多种原因)。这些运算符与该模型不一致。

  4. Swift具有强大的功能,消除了您在其他语言中以C风格使用++
    i进行循环的许多常见原因,因此在编写良好的Swift代码中相对很少使用这些原因。这些功能包括for-in循环,范围,枚举,映射等。

5.
实际上,使用这些运算符的结果值的代码通常会使代码的读取器/维护者感到困惑和微妙。他们鼓励使用“过于棘手”的代码,这些代码可能很可爱,但很难理解。

  1. 尽管Swift具有明确定义的求值顺序,但是依赖于它的任何代码(例如foo( a,a ))也将是不可取的,即使它定义得很好。

  2. 这些运算符适用于相对较少的类型:整数和浮点标量,以及类似迭代器的概念。它们不适用于复数,矩阵等。

最后,这些没有通过“如果我们还没有这些,我们可以将它们添加到Swift 3吗?”的度量标准。

请查看Swift进化了解更多信息。

2020-07-07