2009-06-22 5 views
1

[I posted nur eine ähnliche Frage, aber ich bin nicht sicher, ob tatsächlich geschrieben habe ist. Editor: Bitte entfernen, wenn es sich um einen Doppelpost handelt.]Iphone verzögerte Ausführung von Code

Die App, die ich schreibe, hat ziemlich viel Code in Appeldelegates "applicationDidFinishLaunching" und einem ViewController's "viewDidLoad". Der gesamte Code wird ausgeführt, bevor der Benutzer mit der App etwas anfangen kann. In der Zwischenzeit wird "default.png" als Begrüßungsbildschirm angezeigt. Dies kann bis zu 10 Sekunden dauern, was meiner Meinung nach unakzeptabel lang ist. Deshalb möchte ich einige der Code ausgeführt werden, wenn die tatsächliche UI bereits sichtbar ist und für den Benutzer zugänglich. Ich will aber nicht, dass der Benutzer selbst einen Refresh/Continue Button drücken muss. Kann mir jemand einen Weg vorschlagen, die Startzeit zu minimieren, und zu tun, diese Art von Post-poned Ausführung? Dank ist voraus, Sjakelien

Antwort

4

Sie NSObject des perform verwenden können: withobject: afterDelay: von Ihrem applicationDidFinishLaunching Teil Ihrer Initialisierung zu verschieben.

+0

Ich denke, dies in der Tat genau das, was ich suche. Ich danke dir sehr! (Habe gerade herausgefunden, dass die Verzögerung - wahrscheinlich - in Sekunden und nicht in Millisekunden liegt) – Sjakelien

1

Vielleicht können Sie den viewDidFinishLoad delegieren, aber ich bin mir nicht sicher, ob es noch im „Standard-Bildzeit“ oder danach geladen wird.