NSNumber: сбой stringValue, описание работает - PullRequest
0 голосов
/ 22 августа 2011

[measureValue stringValue] дает мне это исключение:

Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: '- [NSCFString stringValue]: нераспознанный селектор, отправленный экземпляру 0x4dde570'

[measureValue description] отлично работает

Но я думаю, что я должен использовать stringValue в коде, верно?

Это код:

NSNumber *measureValue = [NSString stringWithFormat:@"%i", [cellContent integerValue]];

//if imperial (inches)
if ([[[NSUserDefaults standardUserDefaults] stringForKey:@"Measure"] isEqualToString:@"Imperial"] ) {

    //if height
    if ([currentQuestion isEqualToString:@"Height"]) {
        measureValue = [NSNumber numberWithDouble:(2.54 * [measureValue doubleValue])];
    //elseif weight
    } else {
        measureValue = [NSNumber numberWithDouble:(0.45359237 * [measureValue doubleValue])];
    }

    //NSLog(@"%@", [measureValue stringValue]);
    cellContent = [measureValue description];

1 Ответ

10 голосов
/ 22 августа 2011
 NSNumber *measureValue = [NSString stringWithFormat:@"%i", [cellContent integerValue]];

Эта строка возвращает NSString, а не NSNumber. Вы отправляете stringValue в строку NSString.

...