如何将NSNumber转换为NSString

dav*_*av3 132 objective-c nsnumber nsstring nsarray

所以我有一个NSArray带有NSNumbers和NSStrings 的"myArray" .我需要他们在另一个,UIView所以我这样:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

DetailViewController *details = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];
details.subjectText = [[myArray objectAtIndex:indexPath.row] objectForKey:@"subject"];
Run Code Online (Sandbox Code Playgroud)

subjectText工作.但是我怎样才能从中获得NSNumber它?(其实我需要他们的细绳...)我想转换NSString出来的NSNumber是这样的: NSString *blah = [NSNumber intValue].但我不知道如何在上面的代码中设置它...

Jon*_*LOo 374

尝试:

NSString *myString = [NSNumber stringValue];
Run Code Online (Sandbox Code Playgroud)

  • 但你应该取数组内的NSNumber然后调用StringValue方法,比如NSString*myString = [[myArray objectAtIndex:i] stringValue]; 但你必须确保你在那个索引上有一个NSNumber (3认同)

小智 13

你可以这样做:

NSNumber *myNumber = @15;
NSString *myNumberInString = [myNumber stringValue];
Run Code Online (Sandbox Code Playgroud)


小智 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];
Run Code Online (Sandbox Code Playgroud)


sbs*_*sbs 5

或尝试 NSString *string = [NSString stringWithFormat:@"%d", [NSNumber intValue], nil];

  • 这会进行两次转换.一个用于将NSNumber转换为intValue,另一个用于将生成的intValue强制转换为NSString.使用它可能对某些人来说很小,但删除它是一种很好的方法来节省小的计算周期......这可能会增加. (8认同)