Я пытаюсь установить значение переменной экземпляра динамически во время выполнения в Objective-C.
Предположим, у меня есть класс с именем stock, который имеет переменную цену экземпляра.
У меня есть следующий код:
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]);
Последняя строка, однако, всегда указывает на то, что цена составляет 0,00, т.е. не установлен.
У меня есть недвижимость, объявленная по цене. Так что [цена] должна правильно возвращать цену.
Может кто-нибудь сказать мне, что я здесь не так делаю?
Приветствие
Нарен