Ich kann nicht finden, warum ein Segment programmatisch dauert etwa 2 Sekunden, um den View-Controller das erste Mal zu zeigen. Wenn ich zum View-Controller zurückkehre und versuche, das Segment erneut auszuführen, dauert es nicht lange, bis der View-Controller angezeigt wird. Diese View-Controller habe ich von einem modalen Übergang aus geöffnet.Swift - segue programmatisch dauert zwei Sekunden, um View Controller das erste Mal anzuzeigen
Ich mache so etwas wie dieses:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
dispatch_async(dispatch_get_main_queue()) {
self.performSegueWithIdentifier("<segue identifier>", sender: indexPath)
}
}
Und für die UITableView
ich die delaysContentTouches
Option deaktiviert. Und es funktioniert immer noch nicht, es dauert nur etwa zwei Sekunden zu öffnen, aber nur das erste Mal.
Inzwischen habe ich eine NSTimer
Daten von einem Webdienst abrufen, aber ich lese, dass NSTimer
auf einem anderen Thread ausgeführt wird, so denke ich, das ist nicht das Problem.
Fehle ich etwas, damit das Display den View Controller schneller anzeigt?
Überprüfen Sie, was Thread Sie sind eingeschaltet, wenn diese Methode aufgerufen wird. Du solltest mich schon auf dem Hauptthread haben, also brauchst du deinen GCD-Anruf nicht, was dich verlangsamen kann. – CodeBender
Verwenden Sie benutzerdefinierte Schriftarten? Wird die Tastatur zum ersten Mal in Ihrer App angezeigt? Sehen Sie die gleiche Verzögerung, wenn Sie nicht unter dem xcode Debugger laufen? – Paulw11
@ Paulw11 Ich benutze eine benutzerdefinierte Schriftart und es zeigt nicht die Tastatur zum ersten Mal. Ich habe festgestellt, dass die Verzögerung nur dann auftritt, wenn ich die App unter dem xcode Debugger laufe – pableiros