如何从for循环中获得结果

时间:2018-03-28 06:28:39

标签: arrays swift

我在swift中有一个函数,我在其中使用for循环。

    let pointTF = [emailTF,passTF,resetEmailTF]

    for i in 0...pointTF.count
    {
        return coachMarksController.helper.makeCoachMark(for: pointTF[i])
    }

我想在循环外返回这个值?我怎样才能做到这一点?请帮忙

2 个答案:

答案 0 :(得分:0)

假设上面的代码包含在一个函数中,你可以在for循环范围之外定义一个CoachMark对象数组,并将生成的coachMark追加到数组中:

var coachMarks: [CoachMark]()

for i in 0...pointTF.count
{
    var cm = coachMarksController.helper.makeCoachMark(for: pointTF[i])
    coachMarks.append(cm)
}

//Then you can return a single CoachMark:
return coachMarks[1]

答案 1 :(得分:0)

不知道你要回归的是什么,但是如果你想要返回一个你循环的结果数组,我建议使用map来做它,整洁而简单。

return pointTF.map({ coachMarksController.helper.makeCoachMark(for: $0) })