Итак, у меня есть NSArray
«myArray» с NSNumber
s и NSString
s. Я нуждаюсь в них в другом, UIView
поэтому я иду так:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
DetailViewController *details = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];
details.subjectText = [[myArray objectAtIndex:indexPath.row] objectForKey:@"subject"];
Тема текст работает. Но как я могу получить NSNumber
из этого? (Я на самом деле нужно их как строки ...) Я бы преобразовать NSString
из NSNumber
так:
NSString *blah = [NSNumber intValue]
. Но я не знаю, как настроить это в коде выше ...
objectForKey
. Таким образом, вам нужно извлечь соответствующие значения из этого, прежде чем пытаться конвертировать. Обратите внимание, что большинство типов объектов Какао, включая NSNumber, можно преобразовать в строки путем вызоваdescription
метода (или использования%@
в строке формата).Ответы:
Пытаться:
источник
%f
следующим образом:[NSString stringWithFormat:@"%f", yourDouble];
Вы можете сделать это с:
источник
источник
или попробуйте
NSString *string = [NSString stringWithFormat:@"%d", [NSNumber intValue], nil];
источник
Самое забавное, что NSNumber автоматически преобразуется в строку, если становится частью строки. Я не думаю, что это задокументировано. Попробуйте эти:
Он напечатает:
Работает как на Mac, так и на iOS
Это не работает:
источник
%@
спецификатор формата отправит-description
сообщение соответствующему объекту получателя. Вы можете сделать свою последнюю работу линии в том же духе, написав:NSString *myNSNumber2 = [[NSNumber numberWithFloat:-34512.23f] description];
. Насколько я могу сказать,NSNumber
«Sdescription
иstringValue
методы делают то же самое.В Swift это можно сделать
источник
В Swift 3.0
Мы можем получить числовое значение в String.
источник