j'ai un objet de variables d'instance simple. Certains sont NSString, certains sont ints non signés, etc. J'avais l'impression Valeur clé de codage est scriptable dans ce que je pouvais écrire un code tel que le suivant:codage valeur clé et sa capacité de script
id key, value;
key = [[attributes objectAtIndex:j] name];
value = [[attributes objectAtIndex:j] stringValue];
[obj setValue:value forKey:key];
La raison pour laquelle je suis ici en utilisant stringValue et nom Je travaille avec TouchXML et je construis des objets à partir de flux XML.
Le code ci-dessus se bloque si je tente d'attribuer quoi que ce soit à un nombre entier. Si je change mon int non signé en une instance de NSString, il n'y a pas de crash au moment de l'exécution. Je crois comprendre que le codage Key-Value est assez intelligent pour détecter ces problèmes.
Quelles sont les solutions possibles? Comment puis-je abstraite cela autant que possible, je peux exécuter la même méthode sur de nombreuses classes différentes qui ont toutes leurs propres variables d'instance?
est la méthode la plus élégante pour remplacer vraiment mon setter et utiliser NSNumber pour convertir la chaîne en un type int, que je pensais était déjà traitée par KVC?