所以我有一个NSArray
“myArray”与NSNumber
和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"];
subjectText有效。
但是如何从中获取NSNumber
? (我实际上需要它们作为字符串...)
我会将NSString
转换为NSNumber
,如下所示:
NSString *blah = [NSNumber intValue]
。但我不知道如何在上面的代码中设置它......
答案 0 :(得分:367)
尝试:
NSString *myString = [NSNumber stringValue];
答案 1 :(得分:13)
你可以用:
NSNumber *myNumber = @15;
NSString *myNumberInString = [myNumber stringValue];
答案 2 :(得分:7)
//An example of implementation :
// we set the score of one player to a value
[Game getCurrent].scorePlayer1 = [NSNumber numberWithInteger:1];
// We copy the value in a NSNumber
NSNumber *aNumber = [Game getCurrent].scorePlayer1;
// Conversion of the NSNumber aNumber to a String with stringValue
NSString *StringScorePlayer1 = [aNumber stringValue];
答案 3 :(得分:5)
或尝试NSString *string = [NSString stringWithFormat:@"%d", [NSNumber intValue], nil];
答案 4 :(得分:2)
有趣的是,如果NSNumber成为字符串的一部分,它会自动转换为字符串。我不认为它是有记录的。 试试这些:
NSLog(@"My integer NSNumber:%@",[NSNumber numberWithInt:184]);
NSLog(@"My float NSNumber:%@",[NSNumber numberWithFloat:12.23f]);
NSLog(@"My bool(YES) NSNumber:%@",[NSNumber numberWithBool:YES]);
NSLog(@"My bool(NO) NSNumber:%@",[NSNumber numberWithBool:NO]);
NSString *myStringWithNumbers = [NSString stringWithFormat:@"Int:%@, Float:%@ Bool:%@",[NSNumber numberWithInt:132],[NSNumber numberWithFloat:-4.823f],[NSNumber numberWithBool:YES]];
NSLog(@"%@",myStringWithNumbers);
它将打印:
My integer NSNumber:184
My float NSNumber:12.23
My bool(YES) NSNumber:1
My bool(NO) NSNumber:0
Int:132, Float:-4.823 Bool:1
适用于Mac和iOS
这个不起作用:
NSString *myNSNumber2 = [NSNumber numberWithFloat:-34512.23f];
答案 5 :(得分:2)
在Swift中你可以这样做
let number : NSNumber = 95
let str : String = number.stringValue
答案 6 :(得分:2)
在Swift 3.0中
let number:NSNumber = 25
let strValue = String(describing: number as NSNumber)
print("As String => \(strValue)")
我们可以在String中获取数字值。