ios - 仅当条件匹配时才增加 for 循环的计数

标签 ios swift for-loop

我是编码新手,我在项目中使用for循环,我想要的是仅当我的条件匹配时才增加for循环的计数,否则for循环应该从旧索引开始。 请帮忙!!!

if let countEvent = arrEvent?.count{
        for  i in 0..<countEvent{
            let strStartDate = arrEvent![i]["start_date"].string
            let  dateStart = dateFormatter .date(from: strStartDate!)

            let strEndDate = arrEvent![i]["end_date"].string
            let dateEnd = dateFormatter .date(from: strEndDate!)


            if strCurrentDate == strStartDate{
               //increase count of for loop now
            }else{
               //do not want to increase count of for loop now
            }
        }
    }

最佳答案

for 循环隐式递增其迭代器。如果您想获得对迭代器的显式控制,可以将 for 循环替换为 while 循环,如下所示:

var i = 0
while i < countEvent {
    //...
    i += 1
}

这很容易让您有机会将增量语句包装在 if 子句中,以实现您正在寻找的条件增量行为。

同样,正如 @Sulthan 提到的,如果你不增加机会,你就会陷入无限循环。看来您要么必须更改整个逻辑,要么至少添加另一个终止条件才能最终结束否则的无限循环。

关于ios - 仅当条件匹配时才增加 for 循环的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50073881/

相关文章:

ios - Swift 如何在 AnyObject 数组中查找对象

python - 无法使用应用程序 pythonista 在 iOS 上导入 python 文件

SwiftUI 内容在较小的 iPhone 屏幕上被截断

ios - 如何在一个ViewController中保存当前位置坐标并快速传递给另一个ViewController?

ios - 计算机 AI 转入 UIViewController

c - 为什么我的代码会在此时停止?

python - 如何在不同乘法表之间插入换行符?

javascript - 循环一些硬编码数据

ios - 编辑/添加具有相同 View 的核心数据实体?

ios - 排序 NSMutableArray 并删除对象