Reponse requete asynchrone
Bonjour,
je voudrais savoir comment faire pour avoir une réponse direct du serveur me disant que je ne peut pas me connecté au serveur ?
En effet je me sert d'une connexion asynchrone afin de récupérer un .json cela marche très bien, mais seulement je voudrais que lorsque je n'ai pas de connexion empêcher de créer un page pour rien. (Je sais c'est pas très clair je ne suis pas très fort pour les explications)
Exemple :
page1viewcontroller.m dans le viewdidload je fais :
page2viewcontroller * page2 = [[page2viwcontroller alloc] init];
// ici je voudrais empêcher de créer cette page lorsque je n'ai pas de connexion
self.view addSubview:pag2.view;
et dans page2viewcontroller.m dans le init je lance le chargement du .json, seulement le temps que je reçoit la réponse me disant que je ne peut pas me connecté au serveur, je suis déjà passer dans "self.view addSubview:pag2.view;"
Si quelqu'un à compris ce que je cherche à faire veuillez m'aider S.V.P
PS : je débute le développement iphone
Je vous remercie d'avance pour vos réponse
je voudrais savoir comment faire pour avoir une réponse direct du serveur me disant que je ne peut pas me connecté au serveur ?
En effet je me sert d'une connexion asynchrone afin de récupérer un .json cela marche très bien, mais seulement je voudrais que lorsque je n'ai pas de connexion empêcher de créer un page pour rien. (Je sais c'est pas très clair je ne suis pas très fort pour les explications)
Exemple :
page1viewcontroller.m dans le viewdidload je fais :
page2viewcontroller * page2 = [[page2viwcontroller alloc] init];
// ici je voudrais empêcher de créer cette page lorsque je n'ai pas de connexion
self.view addSubview:pag2.view;
et dans page2viewcontroller.m dans le init je lance le chargement du .json, seulement le temps que je reçoit la réponse me disant que je ne peut pas me connecté au serveur, je suis déjà passer dans "self.view addSubview:pag2.view;"
Si quelqu'un à compris ce que je cherche à faire veuillez m'aider S.V.P

PS : je débute le développement iphone
Je vous remercie d'avance pour vos réponse
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Regarde l'exemple de Reachability sur le site Apple
SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName(NULL, [URL UTF8String]);
il me sort :
Undefined symbols for architecture i386:
"_SCNetworkReachabilityCreateWithName", referenced from:
-[Page1ViewController viewDidLoad] in Page1ViewController.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
problème de version ? [/url]
Un truc du genre, quoi
Je vais voir si je reprend la classe, si quelqu'un a d'autre proposition je suis preneur.
Donc encore un message mal placé (Ali va encore être pas content :P )
Pour le problème de symbole non défini, il suffit de linker avec le framework SystemConfiguration (c'est dans la doc
Maintenant, pour faire simple, en aucun cas les fonctions de "Reachability" ne permettent de déterminer si une machine distante est joignable ou pas. Les seules réponses que ces fonctions peuvent donner, c'est NON ou PEUT-àŠTRE. Sur la mailing list d'Apple "Cocoa-dev", un ingénieur d'Apple a précisé que le système de reachability se contentait uniquement de vérifier que le premier noeud (en gros le premier routeur) du chemin vers la machine concernée répond.
En ce qui me concerne, si je devais implémenter ce genre de chose, j'exécuterais systématiquement la requête, MAIS n'afficherais la deuxième page que si le serveur a répondu (connection:didReceiveResponse: du delegate de NSURLConnection) positivement (code de retour 200 à priori) au lieu de l'afficher au lancement du téléchargement...
Par exemple :
dans ma classe chargement je met un délégué qui va faire appel a une méthode de la class page2 quand didfinish est appelé.
Puis dans ma méthode affichage de la class page2 je voudrais pouvoir faire le fameux addsubview de la classe page1. Je sais qu'avec un délégué sa serait vite fait mais aurait il une autre façon de faire ? j'ai tenté "self.parentviewcontroller.view addSubview:self.view" mais bon rien ne ce passe