IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Objective-C Discussion :

UIButton action lente


Sujet :

Objective-C

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 23
    Points : 19
    Points
    19
    Par défaut UIButton action lente
    bonjour a tous,
    j'ai une bouton son action est de me redérigé vers une UIViewController la boutton fonctionne mais apres un certain temp.
    avez vous des idee pour l'action de ma boutton soit instantanne.
    ViewDidLoad
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    - (void)viewDidLoad {
     
    	NSError *fileError = nil;
     
    	NSURL *url = [[NSURL alloc] initWithString:@"http://172.16.50.6/GetIPhone/GetJoueurBis?codeEq=2"];
    	XMLToObjectParser *myParser = [[XMLToObjectParser alloc]
    								   parseXMLAtURL:url toObject:@"Joueur" parseError:nil];
    	NSLog(@"sfdfdfsfs");
     
    	if(fileError == nil){
    		// audios =[[NSMutableArray alloc ] init];
     
    		joueurs = [[NSMutableArray alloc] init];
     
    		for(int i = 0; i < [[myParser items] count]; i++) {
    			Joueur *nouveauJoueur;
    			nouveauJoueur = (Joueur *)[[myParser items] objectAtIndex:i];
    			[self.joueurs addObject:nouveauJoueur];
    		}
    		joueursViewController = [[JoueursViewController alloc] initWithNibName:nil bundle:nil];
    		joueursViewController.joueurs=self.joueurs;
     
    	} else {
    		NSLog(@"ERREUR DE CHARGEMENT!!!");
    		UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Erreur!" 
    														message:@"Echec de connexion." 
    													   delegate:nil 
    											  cancelButtonTitle:@"OK"
    											  otherButtonTitles:nil];
    		[alert show];
    		[alert release];
    	}
     
    	[url release];
    	[myParser release];
     
     
    	//---------------------------set up navigation bar------------------------------------------
     
    	/*UIImageView *logo = [[UIImageView alloc] initWithFrame:
    						 CGRectMake(0,0,320,
    									self.navigationController.navigationBar.frame.size.height-1)];
    	[logo setImage:[UIImage imageNamed:@"ban TEAM.png"]];
    	[self.navigationController.navigationBar addSubview:logo];
    	[self.navigationController.navigationBar sendSubviewToBack:logo];*/
    	//self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
    	//-----------------------------*******************-------------------------------------------
    	//self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
     
    	naviga = [[UINavigationController alloc]init];
    	naviga.view.frame = self.view.bounds;
    	naviga.delegate = self;
     
     
    	[Effectif setBackgroundImage:[UIImage imageNamed:@"EffectifPro.png"] forState:UIControlStateNormal];
    	[Staff setBackgroundImage:[UIImage imageNamed:@"STAFFpro.png"] forState:UIControlStateNormal];
    	[histoire setBackgroundImage:[UIImage imageNamed:@"histoire.png"] forState:UIControlStateNormal];
    	[Palmares setBackgroundImage:[UIImage imageNamed:@"palmares.png"] forState:UIControlStateNormal];
    	 [super viewDidLoad];
    	//self.navigationItem.title =image;
    }
    L'action de ma boutton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    - (IBAction)myButtonPressed:(id)sender{
    	NSLog(@"Effectif");
     
    	//joueursViewController.delegate=self;s
    	//JoueursViewController *joueursViewController = [[JoueursViewController alloc] initWithNibName:nil bundle:nil];
    	joueursViewController.modalTransitionStyle=UIModalTransitionStyleFlipHorizontal;
     
    	                      //[[self navigationController] pushViewController :joueursViewController animated:YES];
    	[self presentModalViewController:joueursViewController animated:YES];
    	[joueursViewController release];
    	//joueursViewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Team" style:UIBarButtonItemStylePlain target:nil action:@selector(back:)];	
     
     
    }
    Merci pour votre attention.

  2. #2
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Points : 15 771
    Points
    15 771
    Par défaut
    Et si tu mets tous ton code entre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    - (IBAction)myButtonPressed:(id)sender{
     
    }
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    C'est le même cas , même j'ai,essayer de maitre l'appel de l'url dans la page appeler est c'est le même cas , je récupère les donner directement mais la redirection qui est lente je ne sais pas d'ou vient le problème j'ai essayer avec pushViewController est avec presenModal est c'est toujours la même chose.

  4. #4
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Points : 15 771
    Points
    15 771
    Par défaut
    Citation Envoyé par zaghdoud Voir le message
    C'est le même cas , même j'ai,essayer de maitre l'appel de l'url dans la page appeler est c'est le même cas , je récupère les donner directement mais la redirection qui est lente je ne sais pas d'ou vient le problème j'ai essayer avec pushViewController est avec presenModal est c'est toujours la même chose.
    Est-ce que c'est pas tous simplement le serveur qui est lent ?
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 936
    Points : 4 356
    Points
    4 356
    Par défaut
    lancer une requête réseau synchrone à partir de viewDidLoad n'est pas une bonne idée :

    la vue est partiellement ou totalement dessinée, donc l'utilisateur a envie de jouer avec les widgets, mais elle ne répondra pas car le code est bloqué en attente de la réponse réseau.

    Ce genre de code doit se lancer en background (queuing d'un code block par exemple) et évidemment alors la notification par une alerte d'un problème dans cette tâche en background doit se faire autrement, par exemple par un performOnMainThread.

Discussions similaires

  1. Editeur Action script trop LENT
    Par slim_java dans le forum EDI/Outils
    Réponses: 5
    Dernier message: 02/05/2010, 17h14
  2. action APRES chargement complet ...
    Par PinGuy dans le forum Delphi
    Réponses: 7
    Dernier message: 06/07/2006, 17h16
  3. [Struts1.1] Poster un champ vers 2 actions différentes
    Par devtele dans le forum Struts 1
    Réponses: 6
    Dernier message: 17/09/2003, 14h14
  4. [TCheckBox] Neutraliser l'action
    Par Lucien dans le forum Composants VCL
    Réponses: 5
    Dernier message: 14/09/2003, 12h15
  5. [Syntaxe] Action simultanée sur plusieurs élements
    Par FranT dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/03/2003, 20h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo