Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift Segue以编程方式需要很长时间_Ios_Swift_Segue - Fatal编程技术网

Ios Swift Segue以编程方式需要很长时间

Ios Swift Segue以编程方式需要很长时间,ios,swift,segue,Ios,Swift,Segue,使用Swift和Xcode 6.4,我创建了一个登录系统。它工作得很好。我从网站获取XML数据,并检查用户是否已登录 func parser(parser: NSXMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) { if elementName == "isLoggedIn" { if elementValue ==

使用Swift和Xcode 6.4,我创建了一个登录系统。它工作得很好。我从网站获取XML数据,并检查用户是否已登录

    func parser(parser: NSXMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {

    if elementName == "isLoggedIn" {
        if elementValue == "true" {
            success = true
            println(success)
            println("IS HERE")
            self.performSegueWithIdentifier("LoginIsOk", sender: nil)

        }else if elementValue == "false"{
            success = false
            println(success)
        }
        elementValue = nil
    }  
}
当我运行应用程序时,需要1秒的时间“println(“在这里”)”。 所以我想

self.performSegueWithIdentifier("LoginIsOk", sender: nil)
在那之后被执行。但显示另一个ViewController需要5秒钟

如果我也这样做,但是在一个UIButton中,例如,单击它之后,它会立即显示第二个ViewController


你知道为什么func解析器要花这么长时间吗?谢谢。

尝试将其放在其他线程中:

dispatch_async(dispatch_get_main_queue(), {
  self.performSegueWithIdentifier("LoginIsOk", sender: nil)
})

正是因为这个原因,所有的UI调用都应该放在主线程中——我们希望UI能够快速响应

尝试将其放在不同的线程中:

dispatch_async(dispatch_get_main_queue(), {
  self.performSegueWithIdentifier("LoginIsOk", sender: nil)
})

正是因为这个原因,所有的UI调用都应该放在主线程中——我们希望UI能够快速响应

尝试将其放在不同的线程中:

dispatch_async(dispatch_get_main_queue(), {
  self.performSegueWithIdentifier("LoginIsOk", sender: nil)
})

正是因为这个原因,所有的UI调用都应该放在主线程中——我们希望UI能够快速响应

尝试将其放在不同的线程中:

dispatch_async(dispatch_get_main_queue(), {
  self.performSegueWithIdentifier("LoginIsOk", sender: nil)
})

正是因为这个原因,所有的UI调用都应该放在主线程中——我们希望UI能够快速响应

谢谢@Mark它工作得很好。现在我不明白为什么这些方法没有在主线程中运行。这是一篇非常有趣的文章,它让您对iOS和OS X中的线程/并发性有了一些了解。非常感谢您提供的信息和解决方案。感谢@Mark它工作得非常好。现在我不明白为什么这些方法没有在主线程中运行。这是一篇非常有趣的文章,它让您对iOS和OS X中的线程/并发性有了一些了解。非常感谢您提供的信息和解决方案。感谢@Mark它工作得非常好。现在我不明白为什么这些方法没有在主线程中运行。这是一篇非常有趣的文章,它让您对iOS和OS X中的线程/并发性有了一些了解。非常感谢您提供的信息和解决方案。感谢@Mark它工作得非常好。现在我不明白为什么这些方法没有在主线程中运行。这是一篇非常有趣的文章,它让您对iOS和OS X中的线程/并发性有了一些了解。非常感谢您提供的信息和解决方案。