loadTempValue
является NSNumber *
и 0.420
является float
. Вы пытаетесь размножить объект с помощью float, который компилятор не понимает.
Что вы хотите сделать, получите значение поплавка от loadTempValue
, а затем умножьте его на 0.420
. Вы делаете это таким образом:
[loadTempValue floatValue] * 0.420;
Оттуда, кажется, что вы хотите поместить это значение обратно в NSNumber *
объект, вы делаете это так:
@([loadTempValue floatValue] * 0.420);
Синтаксис @(...)
недавно был введен к цели-C. Это называется объектной литературой для чисел. Это сокращенный способ написания [NSNumber numberWithFloat: ...]
Наконец, вы захотите присвоить результат переменной myValue
; вы можете сделать это следующим образом:
NSNumber *myValue = @([loadTempValue floatValue] * 0.420);
Лучше вопрос, почему вы считаете, что это нормально, чтобы присвоить значение «double» указателю на объект? – rmaddy
@rmaddy Прошу вас объяснить? – MrNeilM