stringValue de NSDictionary objectForKey erreur d'exécution

J'ai donc le code suivant provoque une erreur d'exécution dans XCode

NSString* temp = [[param objectforkey@"firstParam"] stringValue];
int tempNum = [[param objectforkey@"secondParam"] intValue];

param charge à partir d'un fichier plist. firstParam est comme une chaîne de caractères, secondParam est un nombre

Première ligne bloque le programme.

Maintenant ce qui est intéressant, c'est qu'il fonctionne si je fais un dur caste j'.e:

NSString* temp = (NSString*)[param objectforkey@"firstParam"];
int tempNum = [[param objectforkey@"secondParam"] intValue];

Demandais juste pourquoi l'id serait mise en œuvre incohérente dans ce que j'ai à utiliser intValue à cast en int, mais ont à faire dur en fonte pour obtenir NSString? Pourquoi ne pas stringValue?

OriginalL'auteur snowbound | 2013-06-08