Esto funciona:Cacao: NSMutableString avisa con stringValue
NSString *myVar = @"whatever";
NSDecimalNumber *myNum = [NSDecimalNumber decimalNumberWithString:@"10"];
myVar = [myNum stringValue];
Esta versión con una cuerda mutable Genera una advertencia de "asignación de tipo distinto de Objective-C":
NSMutableString *myVar = [NSMutableString stringWithString:@"whatever"]; //UPDATE: CORRECTED CODE
NSDecimalNumber *myNum = [NSDecimalNumber decimalNumberWithString:@"10"];
myVar = [myNum stringValue];
En ambos casos stringValue está volviendo un NSCFString. La variable NSString inmutable no le importa, el NSMutableString mutable se queja.
P.S. alguien por favor agregue etiquetas para NSMutableString y stringValue.
¿Puede publicar la advertencia dada? –
(Ah, puedo publicar comentarios ya que todavía estoy cocinado ...). Laurent, es solo una advertencia amarilla de Xcode: "Advertencia: asignación del tipo distinto de Objective-C". – StringSection
Las respuestas de Phillipe y Vladimir han explicado la situación. El problema es que el objeto stringValue es inmutable, por lo que no se puede asignar a una variable de cadena mutable. (Vladimir también señala que mi código NSMutableString * myVar = @ "whatever"; es inherentemente ilegal aunque no crea la advertencia en cuestión.) ¡Gracias! – StringSection