这有效:
NSString *myVar = @"whatever";
NSDecimalNumber *myNum = [NSDecimalNumber decimalNumberWithString:@"10"];
myVar = [myNum stringValue];
这个带有可变字符串的版本会产生警告“来自不同的 Objective-C 类型的赋值”:
NSMutableString *myVar = [NSMutableString stringWithString:@"whatever"]; //UPDATE: CORRECTED CODE
NSDecimalNumber *myNum = [NSDecimalNumber decimalNumberWithString:@"10"];
myVar = [myNum stringValue];
在这两种情况下,stringValue 都返回一个 NSCFString。不可变的 NSString 变量不在乎,可变的 NSMutableString 抱怨。
PS 有人请为 NSMutableString 和 stringValue 添加标签。