简单测试显示performSegueWithIdentifier可以执行后的方法,但做出这个假设是否安全?
Apple文档没有说明这一主题。
例如,下面代码块中的print
语句在测试中执行。但是,假设您要将某些内容记录到在线分析服务中,或者执行比打印语句更复杂的操作?您是否可以在performSegueWithIdentifier保证执行后假设语句,或者您应该在performSegueWithIdentifier之前放置这些代码行?
performSegueWithIdentifier(TestSegue, sender: self)
print("YO YO YO")
答案 0 :(得分:0)
好吧,
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")
}
}
它实际上会保持打印,永远不会转换到下一个视图。