2015-09-18 66 views
-3

我怎樣才能快速返回閉包?如何從關閉返回?

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

    while (true) { 
     result(next) 
    } 
} 

這是函數

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

回答

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) 
}