Литье поплавков и UILabel - PullRequest
0 голосов
/ 02 марта 2011

HI -

У меня есть значение в UILabel, и я хочу передать число значению типа float.

rate = float
hourlyRate = label

Ниже приведен мой код, и я получаюошибки.Я знаю, что плохо переходить от объекта к примитивному значению, но должен быть способ.

Любая помощь будет принята!

rate = NSNumber numberWithFloat:[hourlyRate.text rate];

Ответы [ 2 ]

1 голос
/ 02 марта 2011
rate = NSNumber numberWithFloat:[hourlyRate.text rate];

Это недопустимо, потому что если вы пытаетесь отправить сообщение numberWithFloat: на NSNumber, оно должно быть заключено в квадратные скобки, например:

rate = [NSNumber numberWithFloat:[hourlyRate.text rate]];

И более того hourlyRate.text возвращает строку NSString. Вы не можете отправить NSString метод rate, если вы не подклассифицировали его и не добавили этот метод.

Это правильный способ получить значение UILabel с плавающей точкой, попробуйте это:

rate = [hourlyRate.text floatValue];

И вы имеете в виду:

float rate;
1 голос
/ 02 марта 2011

NSString имеет удобный метод floatValue:

rate = [hourlyRate.text floatValue];
...