作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前,我有一个 while 语句循环遍历低于填充级别的所有单元格,并且应该删除所述单元格。目前,下面的语句经过了大约 3 个然后停止,即使更多的单元格满足条件。
if isExpanded[indexPath.item] //if already expanded remove
{
var t = 1
while (comment.paddingLevel != commentsData[indexPath.row + t].paddingLevel)
{
isExpanded.removeAtIndex(indexPath.row + t)
preRenderedText.removeAtIndex(indexPath.row + t)
commentsData.removeAtIndex(indexPath.row + t)
var path = NSIndexPath(forItem: indexPath.row + t, inSection: 0)
t++
delpaths.append(path)
}
}
最佳答案
您正在通过从中删除项目来改变 isExpanded
数组 - 这意味着下一项的索引将减少一个,但您无论如何都会增加 t。 NSMutableIndexSet
可能是用于 isExpanded
而不是数组的更好的数据结构。
NSMutableIndexSet
存储一组整数索引 - 在这种情况下,它将是您的 item
值。然后,您可以使用集合的 contains(item)
方法快速获得关于特定索引是否在集合中的答案。
关于ios - While 循环在 Swift 中无法正确检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34582329/
我是一名优秀的程序员,十分优秀!