在结束之前的功能之后执行一个功能

时间:2016-11-12 18:24:42

标签: swift xcode

我想知道,在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")
            }

        }
    }

}

1 个答案:

答案 0 :(得分:0)

鉴于2个函数func0func1,您必须在func0的param中添加一个具有相同签名func1的闭包。

func func0(completion: () -> ()) {
    defer { completion() }
    print("func0")
}

func func1() {
    print("func1")
}

现在简单地叫他们写作

func0 { func1() }

<强>输出

// func0
// func1

重复相同的技术以获得更多功能。