我是新编码,我在我的项目中使用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
}
}
}
答案 0 :(得分:0)
for
循环隐式递增其迭代器。如果要获得对迭代器的显式控制,可以使用for
循环替换while
循环,如下所示:
var i = 0
while i < countEvent {
//...
i += 1
}
这很容易让您有机会将增量语句包装在if
子句中,以实现您正在寻找的条件递增行为。
再次,正如@Sulthan所提到的,如果你不增加机会,你会遇到无休止的循环。看起来好像你要么必须改变整个逻辑,要么至少添加另一个终止条件,最终结束无限循环。