2010-08-15 14 views
2

J'ai un code de désérialisation automatique qui va définir les propriétés d'un objet en utilisant KVC. J'ai besoin d'ajouter le support de-sérialisation pour les primitives (int, double, float), mais je ne peux pas (ou je ne sais pas comment) utiliser "setValue: forKey:" avec des primitives. Les recherches de propriétés doivent être effectuées lors de l'exécution. Des idées? Merci.Primitives de codage de valeur de clé

Répondre

5

Lorsque vous obtiendrez une telle valeur via valueForKey:, il placera la valeur pour vous dans un objet NSNumber (ou NSValue, pour certains types de structure).

Vous devez simplement faire la même chose dans l'autre sens: Cochez la valeur désirée et passez cet objet. setValue:forKey: le décomptera avant de le transmettre à l'accesseur de la propriété/de le stocker dans l'ivar correspondant.