J'essaie de définir la valeur d'une variable d'instance de manière dynamique à l'exécution en Objective-C. Supposons que j'ai une classe appelée stock qui a une variable d'instance prix flottant. Je le code suivant:Définition dynamique de la variable d'instance
stock* s;
...//initialisation etc
float newPrice = 12.56;
Ivar variable = class_getInstanceVariable(NSClassFromString(@"stock"), "price");
float* pricePointer = (float*)((char *)c + ivar_getOffset(variable));
(*pricePointer) = newPrice;
NSLog(@"%f", [s price]);
La dernière ligne indique cependant toujours que le prix est 0.00 à savoir. pas encore défini. J'ai une propriété déclarée sur le prix. Donc, le prix devrait retourner le prix correctement. Est-ce que quelqu'un peut me dire ce que je fais mal ici?
Vive Naren