En ce fil :
http://www.experts-exchange.com/Apple/Programming/Objective-C/Q_26411565.html?sfQueryTermInfo=1+10+30+setneedsdisplaiJ'ai dit d'employer
[theView setNeedsDisplay : OUI] ;
au cas où vous devriez mettre à jour la vue. Vous pouvez la faire du fil principal.
Comprenez-vous de cette façon ? Peut-être, je ne comprends pas vos questions ?
Au sujet des fils. Oui, n'importe quelle longue opération dans n'importe quelle langue, pour n'importe quel dispositif, devrait être lancée dans un fil séparé. Dans l'IOS vous pouvez employer des fils et NSThread de POSIX.
bibliothèque de référence d'IOS. Gestion de fil
http://developer.apple.com/iphone/library/documentation/cocoa/conceptual/Multithreading/CreatingThreads/CreatingThreads.htmlJe dirais d'employer NSThread. Voici deux cours d'instruction simples :
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.aspxL'idée est simple. Vous créez le nouveau fil :
[detachNewThreadSelector de NSThread : toTarget
de @selector (
threadMethod) : withObject d'individu : zéro] ;
La méthode de fil devrait être comme cela :
- threadMethod (vide) {
*pool de NSAutoreleasePool = [[init d'alloc de NSAutoreleasePool]] ;
//Here est le code.
[dégagement de piscine] ;
}
Si vous devez faire quelque chose dans le fil principal de ce nouveau fileter :
[performSelectorOnMainThread d'individu
: withObject
de @selector (
UpdateUIMethod) : waitUntilDone de zéro : faux] ;
Dans cette méthode (elle s'appellera dans le fil principal), vous pouvez mettre à jour l'UI.
Vous pouvez essayer :
[performSelectorOnMainThread de theView
: @selector
(setNeedsDisplay
: OUI
) withObject : waitUntilDone de myText : AUCUN] ;
(Je juste l'ai écrit ici sans essai, mais il donne une idée)