Vraag : Het bijwerken UI manueel

Hallo,

Is daar een manier om UI manueel bij te werken?
bijvoorbeeld, heb ik een functie die de updates UI en één of andere logic.
After de update UI uitvoeren, zal het wat logica uitvoeren die oud en een update van UI moet wachttijd zal nemen zijn tot de uitvoering van logica finished.
Is daar een manier is om befor manueel bij te werken UI zelfs de logica zelfs wordt uitgevoerd?

It schijnt dat de draad in here.
But kan worden gebruikt is daar een manier om dit op te lossen door draad niet te gebruiken?
Also, die als de draad kan worden gebruikt gebruiken, wat is de beste praktijken?

Thanks!

Antwoord : Het bijwerken UI manueel

In deze draad:
http://www.experts-exchange.com/Apple/Programming/Objective-C/Q_26411565.html?sfQueryTermInfo=1+10+30+setneedsdisplai

Ik 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.html

Ik 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.aspx

Het 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)




Andere oplossingen  
 
programming4us programming4us