Précédent   Forum du club des développeurs et IT Pro > Systèmes > Mac > Objective-C
Objective-C Forum d'entraide sur le langage de programmation Objective-C
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 24/11/2011, 17h10   #1
zaghdoud
Invité de passage
 
Inscription : octobre 2009
Messages : 23
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 23
Points : 2
Points : 2
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 :
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 :
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.
zaghdoud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2011, 18h01   #2
kOrt3x
Rédacteur/Modérateur

 
Avatar de kOrt3x
 
Homme Aurélien Gaymay
Technicien Informatique/Etudiant Web
Inscription : septembre 2006
Messages : 2 715
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gaymay
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Technicien Informatique/Etudiant Web
Secteur : Santé

Informations forums :
Inscription : septembre 2006
Messages : 2 715
Points : 11 670
Points : 11 670
Envoyer un message via AIM à kOrt3x Envoyer un message via MSN à kOrt3x Envoyer un message via Skype™ à kOrt3x
Et si tu mets tous ton code entre :

Code :
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
kOrt3x est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2011, 18h45   #3
zaghdoud
Invité de passage
 
Inscription : octobre 2009
Messages : 23
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 23
Points : 2
Points : 2
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.
zaghdoud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2011, 12h36   #4
kOrt3x
Rédacteur/Modérateur

 
Avatar de kOrt3x
 
Homme Aurélien Gaymay
Technicien Informatique/Etudiant Web
Inscription : septembre 2006
Messages : 2 715
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gaymay
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Technicien Informatique/Etudiant Web
Secteur : Santé

Informations forums :
Inscription : septembre 2006
Messages : 2 715
Points : 11 670
Points : 11 670
Envoyer un message via AIM à kOrt3x Envoyer un message via MSN à kOrt3x Envoyer un message via Skype™ à kOrt3x
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
kOrt3x est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2011, 09h53   #5
JeitEmgie
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 375
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 375
Points : 2 891
Points : 2 891
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.
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h30.


 
 
 
 
Partenaires

Hébergement Web