没有“+=”候选者产生预期的上下文结果类型“Int”[重复]
Posted
技术标签:
【中文标题】没有“+=”候选者产生预期的上下文结果类型“Int”[重复]【英文标题】:No '+=' candidates produce the expected contextual result type 'Int' [duplicate] 【发布时间】:2016-03-31 16:26:59 【问题描述】:我一直在为 Swift 3 更新我的 Swift 代码(真的很兴奋),到目前为止一切都很好。 但我确实翻滚了一些我似乎无法更新的代码。
我知道我遗漏了一些非常简单的东西,但我就是看不到什么。
这是我在 Swift 2.2 中所拥有的:
var column = 0
[...]
for item in 0 ..< collectionView!.numberOfItemsInSection(0)
[...]
column = column >= (numberOfColumns - 1) ? 0 : ++column
++column
当然在 Swift 3 中被弃用,取而代之的是 column += 1
但是,在这种情况下,它会产生错误:
没有“+=”候选产生预期的上下文结果类型“Int”
由于这行代码 (column = column >= (numberOfColumns - 1) ? 0 : column += 1
) 产生错误,我尝试了以下方法:
var newCol = column
column = column >= (numberOfColumns - 1) ? 0 : newCol += 1
但我得到了同样的错误。
有人能指点我正确的方向吗?
【问题讨论】:
【参考方案1】:+=
不返回值。你需要打破这个。幸运的是,在你的情况下,这比原来的更简单明了:
column = (column + 1) % numberOfColumns
【讨论】:
【参考方案2】:像这样:
column = column >= (numberOfColumns - 1) ? 0 : column + 1
【讨论】:
它最清楚、最直接地回答了 OP 的问题,但像往常一样,Rob Napier 的回答是优雅的 Swifty 方式。 :) 是的,你能做什么? 我试过了,但它只是加了 1 而不是 += 1。.map _ in NSIndexPath(forRow: insertPos++, inSection: 0)
在我的情况下,n + 1
不起作用以上是关于没有“+=”候选者产生预期的上下文结果类型“Int”[重复]的主要内容,如果未能解决你的问题,请参考以下文章
removeSubrange 产生“()”,而不是预期的上下文结果类型“字符串”
引起:NoSuchBeanDefinitionException:没有 xxx 类型的合格 bean 预期至少 1 个 bean 有资格作为自动装配候选者