Erreur NSUnknownKeyException
souhail72
Membre
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 /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
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 /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
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
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.
Merci, j'avais changé entre autre le psw...donc il reconnait pas l'attribut j'ai changé la destination du outlet.merci
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:@"http://localhost:8888/index.php";
/* 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];
}
}
Mets des points d'arrêts dans la marge de gauche et fais du pas-à -pas, tu verras bien ce qui ne passe pas.