参见英文答案 >
How to rewrite Swift ++ operator in ?: ternary operator2个
我一直在为Swift 3更新我的Swift代码(非常兴奋),到目前为止一直很好.
但我确实贬低了一些我似乎无法更新的代码.
我一直在为Swift 3更新我的Swift代码(非常兴奋),到目前为止一直很好.
但我确实贬低了一些我似乎无法更新的代码.
我知道我错过了一些非常简单的东西,但我看不出是什么.
这是我在Swift 2.2中的内容:
var column = 0 [...] for item in 0 ..< collectionView!.numberOfItemsInSection(0) { [...] column = column >= (numberOfColumns - 1) ? 0 : ++column }
该列当然在Swift 3中被弃用,而有利于column = 1
但是,在此上下文中,它会产生错误:
No ‘+=’ candidates produce the expected contextual result type ‘Int’
由于这行代码(column = column> =(numberOfColumns – 1)?0:column = 1)产生错误,我尝试了以下方法:
var newCol = column column = column >= (numberOfColumns - 1) ? 0 : newCol += 1
但我得到了同样的错误.
有人能指出我正确的方向吗?
解决方法
=不返回值.你需要打破这个.幸运的是,在你的情况下,它比原来更直接,更清晰:
column = (column + 1) % numberOfColumns
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。