更新到Xcode 7.3
后,我的项目中会显示大量警告。
' ++'已弃用:它将在 Swift 3
中删除
有什么想法修复这个警告吗?将来不推荐使用++
和--
的原因是什么?
答案 0 :(得分:46)
自Swift 2.2起,您应该使用+= 1
或-= 1
代替。
在查看Swift的演变之后,有一些理由要删除这些运算符:
这些运算符增加了学习Swift作为第一种编程语言的负担 - 或任何其他你不熟悉不同语言的运算符的情况。
他们的表现优势很小 - x ++并不比x + = 1短。
Swift已经偏离C,因为=,+ =和其他类似赋值的操作返回Void(由于多种原因)。这些操作符与该模型不一致。
Swift具有强大的功能,消除了在其他语言的C风格循环中使用++ i的许多常见原因,因此这些在编写良好的Swift代码中相对较少使用。这些功能包括for-in循环,范围,枚举,地图等。
实际使用这些运算符的结果值的代码通常会让代码的读者/维护者感到困惑和微妙。他们鼓励“过于棘手”的代码,这些代码可能很可爱,但很难理解。
虽然Swift具有良好定义的评估顺序,但任何依赖它的代码(如foo(++ a,a ++))都是不受欢迎的,即使它是明确定义的。
- 醇>
这些运算符适用于相对较少的类型:整数和浮点标量,以及类似迭代器的概念。它们不适用于复数,矩阵等。
最后,这些指标未能通过“如果我们还没有这些,我们会将它们添加到Swift 3吗?”
请查看Swift evolution了解详情。