In diesem Gewinde:
http://www.experts-exchange.com/Apple/Programming/Objective-C/Q_26411565.html?sfQueryTermInfo=1+10+30+setneedsdisplaiIch erklärt zu verwenden
[theView setNeedsDisplay: JA];
falls Sie die Ansicht aktualisieren müssen. Sie können sie vom Hauptgewinde tun.
Verstehen Sie auf diese Weise? Möglicherweise verstehe ich nicht Ihre Fragen?
Über die Gewinde. Ja sollte jeder lange Betrieb in irgendeiner Sprache, für jede mögliche Vorrichtung, in ein unterschiedliches Gewinde gestartet werden. In IOS können Sie POSIX Gewinde und NSThread verwenden.
IOS-Bezugsbibliothek. Gewinde-Management
http://developer.apple.com/iphone/library/documentation/cocoa/conceptual/Multithreading/CreatingThreads/CreatingThreads.htmlIch sagen, NSThread zu verwenden. Sind hier zwei einfache Tutorien:
http://www.xprogress.com/post-36-threading-tutorial-using-nsthread-in-iphone-sdk-objective-c/http://www.eigo.co.uk/Programming-threaded-processes-in-iPhone.aspxDie Idee ist einfach. Sie herstellen neues Gewinde es:
[NSThread detachNewThreadSelector: @selector
(threadMethod
) toTarget: SelbstwithObject: Null];
Die Gewindemethode sollte wie die sein:
- (leeres) threadMethod {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
//Here ist der Code.
[Lachefreigabe];
}
Wenn Sie etwas im Hauptgewinde von diesem neuen tun müssen, verlegen:
[SelbstperformSelectorOnMainThread
: @selector
(UpdateUIMethod
) withObject: Null waitUntilDone: falsch];
In dieser Methode (sie benannt im Hauptgewinde), können Sie das UI aktualisieren.
Sie können versuchen:
[theView performSelectorOnMainThread
: @selector
(setNeedsDisplay
: JA
) withObject: myText waitUntilDone: KEIN];
(Ich schrieb es gerade hier ohne Prüfung, aber sie gibt eine Idee)