NSError : affichage récalcitrant

Philippe49Philippe49 Membre
mai 2009 modifié dans API AppKit #1
Je veux personnaliser l'affichage d'une alertWithError qui est appelée automatiquement par ailleurs. Dans la méthode qui m'est fournie pour gérer l'erreur, je mets ce code :

NSString *errorStr = NSLocalizedStringFromTable(@&quot;Logo too big&quot;, @&quot;Company&quot;,@&quot;validation: logo too big error&quot;); <br />NSDictionary *userInfoDict = [NSDictionary dictionaryWithObject:errorStr forKey:NSLocalizedDescriptionKey];<br />NSError *error = [[[NSError alloc] initWithDomain:kCOMPANY_ERROR_DOMAIN code:kLOGO_INVALID_LENGTH_CODE userInfo:userInfoDict] autorelease];<br />*outError = error;<br />NSLog(@&quot;%@&quot;,[error localizedDescription]);


kCOMPANY_ERROR_DOMAIN et kLOGO_INVALID_LENGTH_CODE sont des macros personnelles (resp une NSString et un NSInteger). outerror est le NSError ** passé en argument pour recevoir le NSError personnalisé.
Le NSLog sur error m'écrit bien ce qu'il faut, donc pas d'erreur sur la localisation.

Ce que j'obtiens c'est le message standard, et mon userInfo a l'air ignoré.

Réponses

  • Philippe49Philippe49 Membre
    mai 2009 modifié #2
    Autant pour moi : La clé à  utiliser dans le userInfo est NSLocalizedFailureReasonErrorKey

    NSDictionary *userInfoDict = [NSDictionary dictionaryWithObject:errorStr forKey:NSLocalizedFailureReasonErrorKey];<br />
    


    Cela servira peut-être à  d'autres ...
Connectez-vous ou Inscrivez-vous pour répondre.