Erreur NSUnknownKeyException

Bonjour,

j'ai crée un scipt php pour se connecter a une BDD MySql sur une table utilisateur, en localhost, le script marche il me retourne la valeur demandée.

sur xcode, j'ai créer aussi toutes les actions demandé, pas d'erreurs de script mais quand je lance le run, il beug et me retourne sur la console ces érreurs :



2012-11-02 10:28:32.489 login[3448:207] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<loginViewController 0x6e039b0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key psw_utilisateur.'

*** Call stack at first throw:

(

0 CoreFoundation 0x02485b99 __exceptionPreprocess + 185

1 libobjc.A.dylib 0x025d540e objc_exception_throw + 47

2 CoreFoundation 0x02485ad1 -[NSException raise] + 17

3 Foundation 0x0002f0f3 _NSSetUsingKeyValueSetter + 135

4 Foundation 0x0002f061 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 285

5 UIKit 0x004ad70a -[UIRuntimeOutletConnection connect] + 112

6 CoreFoundation 0x023fbd0f -[NSArray makeObjectsPerformSelector:] + 239

7 UIKit 0x004ac121 -[UINib instantiateWithOwner:options:] + 1041

8 UIKit 0x004adeb5 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 168

9 UIKit 0x0036395f -[UIViewController _loadViewFromNibNamed:bundle:] + 70

10 UIKit 0x00361675 -[UIViewController loadView] + 120

11 UIKit 0x0036154f -[UIViewController view] + 56

12 login 0x00001db1 -[loginAppDelegate application:didFinishLaunchingWithOptions:] + 74

13 UIKit 0x002b7f27 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1163

14 UIKit 0x002ba3b0 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 346

15 UIKit 0x002c43ec -[UIApplication handleEvent:withNewEvent:] + 1958

16 UIKit 0x002bcb3c -[UIApplication sendEvent:] + 71

17 UIKit 0x002c19bf _UIApplicationHandleEvent + 7672

18 GraphicsServices 0x02d65822 PurpleEventCallback + 1550

19 CoreFoundation 0x02466ff4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52

20 CoreFoundation 0x023c7807 __CFRunLoopDoSource1 + 215

21 CoreFoundation 0x023c4a93 __CFRunLoopRun + 979

22 CoreFoundation 0x023c4350 CFRunLoopRunSpecific + 208

23 CoreFoundation 0x023c4271 CFRunLoopRunInMode + 97

24 UIKit 0x002b9c6d -[UIApplication _run] + 625

25 UIKit 0x002c5af2 UIApplicationMain + 1160

26 login 0x00001d44 main + 102

27 login 0x00001cd5 start + 53

28 image/huh.gif' class='bbc_emoticon' alt='???' /> 0x00000001 0x0 + 1

)

terminate called after throwing an instance of 'NSException'



Avez vous une idée pourquoi il déclenche l'exception?

merci bcp a vous

Réponses

  • CéroceCéroce Membre, Modérateur
    novembre 2012 modifié #2
    Oui, tu avais une outlet qui s'appelait psw_utilisateur et qui n'existe plus dans ton xib. Regarde la liste des outlets dans le xib, et retire celle qui a un point d'exclamation.



    Explication rapide: sous iOS, le Key-Value Coding est utilisé pour connecter les outlets à  leur destinataire. Comme le destinataire (ici le UIViewController) ne dispose pas de setter ou de variable d'instance de ce nom, tu obtiens cette exception.





    J'ai modifié le titre du sujet, qui n'a rien à  voir avec un problème de connexion.
  • souhail72souhail72 Membre
    novembre 2012 modifié #3
    résolu, mais sur la console aucun retour du test ...?

    Merci, j'avais changé entre autre le psw...donc il reconnait pas l'attribut j'ai changé la destination du outlet.merci
  • 'souhail72' a écrit:


    résolu, mais sur la console aucun retour du test ...?
  • CéroceCéroce Membre, Modérateur
    De quoi parles-tu ?
  • souhail72souhail72 Membre
    novembre 2012 modifié #6
    lol désolé de ne pas m'expliquer un peu plus ..

    Don aucune erreur sur la console de xcode, mias quand je teste avec le simulateur, il réagit pas, cad si je met des login et mot de passe faux, il réagit pas .. ..

    voila.

    l'action valider est :



    -(IBAction)Valider:(id)sender



    {



    NSString *post =[NSString stringWithFormat:@login_utilisateur=%@ & pws_utilisateur=%@",



    [[login_utilisateur text] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding],

    pws_utilisateur text] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding;





    NSData *dataToSend = [NSData dataWithBytes:[post UTF8String] length:[post length]];





    NSMutableURLRequest *request = NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@&quot;http://localhost:8888/index.php&quot;;

    /* file://localhost/Users/coclico/Desktop/connect_php/index.php */

    [request setHTTPMethod:@POST];

    [request setHTTPBody:dataToSend];



    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];



    NSString *reponseServeur = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];



    //Géstion des retour pages et des champs espace.

    [reponseServeur stringByReplacingOccurrencesOfString:@\n withString:@";"];



    [reponseServeur stringByReplacingOccurrencesOfString:@ withString:@";"];





    NSLog(@%@", reponseServeur);

    //Condition ou le mot de passe et login incorrect, alerte, sinon redirection sur une autre view.

    if([reponseServeur rangeOfString:@YES].location != NSNotFound)



    {//conditiopn ok



    monRspacePersonController *page = [[ monRspacePersonController alloc] initWithNibName:@monEspacePerso bundle:nil];

    page.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

    //On récupére le login utilisateur de la connexion

    page.pseudoString = login_utilisateur.text;

    [self presentModalViewController:page animated:YES];



    }

    else // condition nul

    {

    UIAlertView *alert = [[UIAlertView alloc ] initWithTitle:@ALERTE message:@Identifiant Incorrects delegate:self cancelButtonTitle:@OK otherButtonTitles:nil,nil];





    [alert show];

    [alert release];

    }



    }
  • Tu utilise vraiment un localhost? Est ce que ton device y a accès? Sinon c'est normal que tu n'ai pas de retour.
  • CéroceCéroce Membre, Modérateur
    Que te dire ?

    Mets des points d'arrêts dans la marge de gauche et fais du pas-à -pas, tu verras bien ce qui ne passe pas.
  • Merci ceros ... ca bloque depuis 2j...je m'y attèle .
Connectez-vous ou Inscrivez-vous pour répondre.