performSegueWithIdentifier

performSegueWithIdentifier

简单的测试显示performsguewithidentifier之后的方法可以执行,但是这样的假设安全吗?
苹果的文档没有提到这个话题。
例如,下面代码块中的print语句在测试中执行。但是假设你想把一些事情记录到在线分析服务上,或者做一些比打印声明更复杂的事情?您可以假设performSegueWithIdentifier之后的语句被保证执行,还是应该将这些代码行放在performSegueWithIdentifier之前?

    performSegueWithIdentifier(TestSegue, sender: self)
    print("YO YO YO")

最佳答案

好,

performSegueWithIdentifier(TestSegue, sender: self)

实际上是在函数中调用的最后一个函数。如果函数中的其他调用没有结束,它将永远不会转换您,直到执行所有操作。例如,假设您有以下代码:
@IBAction func button1Pressed(sender: AnyObject) {


    performSegueWithIdentifier("toIMG", sender: nil)

    let temp = imageViewController()
    temp.printingStuff()
}

imageViewController如下所示:
class imageViewController: UIViewController {

[....]

func printingStuff(){
    while true{
    print("I love pizza")

    }

}

它实际上会一直打印,永远不会将您转换到下一个视图。

10-02 13:43