Entonces tengo un NSArray"myArray" con NSNumbersy NSStrings. Los necesito en otro, UIViewasí que voy así:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
DetailViewController *details = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];
details.subjectText = [[myArray objectAtIndex:indexPath.row] objectForKey:@"subject"];
El subjectText funciona. Pero, ¿cómo puedo sacarle NSNumberprovecho? (Que en realidad los necesito como cadenas ...) Me gustaría convertir una NSStringsalida de un NSNumberasí:
NSString *blah = [NSNumber intValue]. Pero no sé cómo configurarlo en el código anterior ...

objectForKey. Por lo tanto, deberá extraer los valores apropiados de eso antes de intentar convertir. Tenga en cuenta que la mayoría de los tipos de objetos Cocoa, incluido NSNumber, se pueden convertir en cadenas llamando aldescriptionmétodo (o utilizando%@una cadena de formato).Respuestas:
Tratar:
fuente
%festa manera:[NSString stringWithFormat:@"%f", yourDouble];Puedes hacerlo con:
fuente
fuente
o tratar
NSString *string = [NSString stringWithFormat:@"%d", [NSNumber intValue], nil];fuente
Lo curioso es que NSNumber se convierte en cadena automáticamente si se convierte en parte de una cadena. No creo que esté documentado. Prueba estos:
Imprimirá:
Funciona tanto en Mac como en iOS
Este no funciona:
fuente
%@especificador de formato enviará el-descriptionmensaje al objeto receptor correspondiente. Usted puede hacer su última línea de trabajo con el mismo espíritu de la escritura:NSString *myNSNumber2 = [[NSNumber numberWithFloat:-34512.23f] description];. Por lo que puedo decir,NSNumberlos métodosdescriptionystringValuehacen lo mismo.En Swift puedes hacer así
fuente
En Swift 3.0
Podemos obtener el valor numérico en String.
fuente