我想知道,在xCode中实现Swift 2的最佳方法是什么: 如何在结束第一个函数后执行第二个函数,然后是函数3,然后是4.依此类推?
编辑:
这个决议是什么意思?
// Function 1
func function_1(completion: (result: Bool)->())
{
// Wait 10 sec
sleep(10)
print("Function 1")
completion(result: true)
}
// Function 2
func function_2(completion: (result: Bool)->())
{
print("Function 2")
completion(result: true)
}
致电:
function_1()
{ (boolValue) -> () in
if boolValue == true
{
self.function_2()
{ (boolValue) -> () in
if boolValue == true
{
// function 3
print("and now function 3")
}
}
}
}
答案 0 :(得分:0)
鉴于2个函数func0
和func1
,您必须在func0
的param中添加一个具有相同签名func1
的闭包。
func func0(completion: () -> ()) {
defer { completion() }
print("func0")
}
func func1() {
print("func1")
}
现在简单地叫他们写作
func0 { func1() }
<强>输出强>
// func0
// func1
重复相同的技术以获得更多功能。