如何从关闭返回?

时间:2015-09-18 22:12:19

标签: swift

如何从swift的闭包中返回?

func closure(result: (Int -> Void)) {
    var next = 1

    while (true) {
        result(next)
    }
}

这是函数的调用

closure() { result in
    // here I need to return
}

1 个答案:

答案 0 :(得分:2)

问题中的while循环没有返回。为了返回,必须有一些条件语句将退出while循环,如:

while (true) {
   result(next)
   if something == false {
       break;
   }
}

或:

var i = 0
while (true) {
    if i++ == 4 {
        break;
    }
    print(i)
}

或:

var i = 0
while (i <
    print(i)
}