In deze draad:
http://www.experts-exchange.com/Apple/Programming/Objective-C/Q_26411565.html?sfQueryTermInfo=1+10+30+setneedsdisplaiIk heb aan gebruik verteld
[theView setNeedsDisplay: JA];
voor het geval dat u de mening moet bijwerken. U kunt het van de belangrijkste draad doen.
Begrijpt u deze manier? Misschien, begrijp ik uw vragen niet?
Ongeveer de draden. Ja, zou om het even welke lange verrichting in om het even welke taal, voor om het even welk apparaat, in een afzonderlijke draad moeten worden gelanceerd. In iOS kunt u draden POSIX en NSThread gebruiken.
iOS de Bibliotheek van de Verwijzing. Het Beheer van de draad
http://developer.apple.com/iphone/library/documentation/cocoa/conceptual/Multithreading/CreatingThreads/CreatingThreads.htmlIk zou zeggen om NSThread te gebruiken. Hier zijn twee eenvoudige leerprogramma's:
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.aspxHet idee is eenvoudig. U cre�ërt nieuwe draad:
[detachNewThreadSelector NSThread: @selector
(threadMethod
) toTarget: zelf withObject: nul];
De draadmethode zou als dat moeten zijn:
- (leegte) threadMethod {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
//Here is de code.
[poolversie];
}
Als u iets in de belangrijkste draad van deze nieuwe draad moet doen:
[zelfperformSelectorOnMainThread
: @selector
(UpdateUIMethod
) withObject: nul waitUntilDone: vals];
In die methode (het zal in de belangrijkste draad worden geroepen), kunt u UI bijwerken.
U kunt proberen:
[theView performSelectorOnMainThread
: setNeedsDisplay
@selector (
: JA
) withObject: myText waitUntilDone: GEEN];
(ik schreef het enkel hier zonder het testen, maar het geeft een idee)