我是编码新手,我在项目中使用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/