ios – 没有’=’候选者产生预期的上下文结果类型’Int’

前端之家收集整理的这篇文章主要介绍了ios – 没有’=’候选者产生预期的上下文结果类型’Int’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How to rewrite Swift ++ operator in ?: ternary operator2个
我一直在为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
原文链接:https://www.f2er.com/iOS/333015.html

猜你在找的iOS相关文章