hie*_*trq 27 macos swift xcode7 swift2
我只是切换到Swift几天,我注意到后缀和前缀++和 - 将在Swift 3中删除.我做了一些研究,根据Swift网站上的公告,运算符++和 - 将替换为+ = 1和 - = 1.链接此处Swift 2.2中的新功能
我有一段代码可以使用旧版本的Swift工作得很好.当我从return counter1++原始代码更改为,return counter1 += 1并弹出一个错误说
没有'+ ='候选者产生预期的上下文类型'Int'
这是我的例子
func countingCounter() -> (() -> Int){
var counter1 = 0
let incrementCounter1: () -> Int = {
return counter1+=1 //original is counter1++
}
return incrementCounter1
}
Run Code Online (Sandbox Code Playgroud)
我试图解决这个问题,但仍然坚持.
不,它们不相同,++和 - 递增(或递减)和返回,+ =和 - =以简单阅读简短形式添加(或减去)金额,但它们不返回任何内容.
因此,您需要将值更改与值使用分开.这实际上是弃用的全部内容 - 使代码更易于阅读和维护.
正如我在评论中所说的那样你现在必须写它来替换postfix ++.另一种方法是使用中间变量,如果你不喜欢-1的东西.
let incrementCounter1: () -> Int = {
counter1+=1 //original is counter1++
return counter1-1;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3717 次 |
| 最近记录: |