更新到后Xcode 7.3,我的项目中会显示很多警告。
Xcode 7.3
’++’已过时:它将在 Swift 3中* 删除 *
有解决此警告的想法吗?++和--将来会被弃用的任何原因是什么?
++
--
从Swift 2.2开始,您应该使用+= 1或-= 1代替。
+= 1
-= 1
在查看了Swift的发展之后,有一些删除这些运算符的原因:
这些运算符增加了学习Swift作为第一门编程语言的负担-或在其他情况下您还不了解其他语言的运算符。 它们的表达优势极小-x ++比x + = 1短很多。 Swift已经偏离C,因为=,+ =和其他类似赋值的操作返回Void(出于多种原因)。这些运算符与该模型不一致。 Swift具有强大的功能,消除了您在其他语言中以C风格使用++ i进行循环的许多常见原因,因此在编写良好的Swift代码中相对很少使用这些原因。这些功能包括for-in循环,范围,枚举,映射等。 5. 实际上,使用这些运算符的结果值的代码通常会使代码的读取器/维护者感到困惑和微妙。他们鼓励使用“过于棘手”的代码,这些代码可能很可爱,但很难理解。 尽管Swift具有明确定义的求值顺序,但是依赖于它的任何代码(例如foo( a,a ))也将是不可取的,即使它定义得很好。 这些运算符适用于相对较少的类型:整数和浮点标量,以及类似迭代器的概念。它们不适用于复数,矩阵等。 最后,这些没有通过“如果我们还没有这些,我们可以将它们添加到Swift 3吗?”的度量标准。
这些运算符增加了学习Swift作为第一门编程语言的负担-或在其他情况下您还不了解其他语言的运算符。
它们的表达优势极小-x ++比x + = 1短很多。
Swift已经偏离C,因为=,+ =和其他类似赋值的操作返回Void(出于多种原因)。这些运算符与该模型不一致。
Swift具有强大的功能,消除了您在其他语言中以C风格使用++ i进行循环的许多常见原因,因此在编写良好的Swift代码中相对很少使用这些原因。这些功能包括for-in循环,范围,枚举,映射等。
5. 实际上,使用这些运算符的结果值的代码通常会使代码的读取器/维护者感到困惑和微妙。他们鼓励使用“过于棘手”的代码,这些代码可能很可爱,但很难理解。
尽管Swift具有明确定义的求值顺序,但是依赖于它的任何代码(例如foo( a,a ))也将是不可取的,即使它定义得很好。
这些运算符适用于相对较少的类型:整数和浮点标量,以及类似迭代器的概念。它们不适用于复数,矩阵等。
最后,这些没有通过“如果我们还没有这些,我们可以将它们添加到Swift 3吗?”的度量标准。
请查看Swift进化了解更多信息。