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