Question : Mettant à jour UI manuellement

Bonjour,

Is là une manière de mettre à jour UI manuellement ? Le
par exemple, j'ai une fonction qui met à jour UI et exécute un certain logic.
After la mise à jour d'UI, il exécuterai de la logique qui prendra un bon moment et la mise à jour d'UI doit être attente jusqu'à ce que l'exécution de la logique soit finished.
Is là une manière de mettre à jour le befor d'UI manuellement même que la logique est même exécutée ? le

It semble que le fil peut être employé dans here.
But est là une manière de résoudre ceci par pas using le fil ? le
Also, employant si le fil peut être employé, ce qui est les pratiques ?

Thanks !
class= de

Réponse : Mettant à jour UI manuellement

En ce fil :
http://www.experts-exchange.com/Apple/Programming/Objective-C/Q_26411565.html?sfQueryTermInfo=1+10+30+setneedsdisplai

J'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.html

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

L'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)




Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us