我在获取已从浮点转换为在UITableView的自定义单元格中的标签中显示的字符串时遇到问题。
如果我尝试将float的值赋给标签,程序将崩溃。如果我离开“strAIAreaIncrease = @”6.5%“;”没有注释,该程序工作正常 - 但没有计算值。
strAIAreaIncrease = [NSString stringWithFormat:@"%.2f",fltAreaIncrease];
strAIAreaIncrease = [strAIAreaIncrease stringByAppendingString:@"%"];
DebugLog(@"The value of float num is %.2f", fltAreaIncrease);
DebugLog(@"The value of the string is %@", strAIAreaIncrease);
// strAIAreaIncrease = @"6.5%";
调试器控制台显示以下内容:
2010-11-14 19:52:38.122 Building Use[855:207] The value of float num is 2.50 2010-11-14 19:52:38.123 Building Use[855:207] The value of the string is 2.50%
我在其他自定义单元格标签上使用此格式没有问题。任何人都知道发生了什么事?
感谢。
答案 0 :(得分:0)
我认为你应该使用NSMutableString:
e.g。
NSMutableString* straIAreaIncrease
= [NSMutableString stringWithFormat:@"%.2f", fltAreaIncreas];
[strAIAreaIncrease appendString:@"%%"];
答案 1 :(得分:0)
好的,我试图实现NSMutabeString但没有成功。很明显,我错过了对MSMutableString的有趣理解。
我认为我创建它的方式是问题的一部分。我需要能够将变量传递给多个方法,所以我试图在头文件中创建它。似乎我遇到的所有示例都在方法中创建了字符串。
在我的标题中,我有:
NSMutableString *strAIAreaIncrease;
我认为这是一个问题,我认为我需要为它分配一个值,但我不确定如何。调试器控制台提供以下内容:
2010-11-21 07:40:40.456 Building Use[1274:207] *** Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '+[NSMutableString string:]: unrecognized selector sent to class 0x2317c0'
另一个问题是:如果我在数组中使用MSMutableString值,那么数组是否必须是MSMutable数组?
感谢。
答案 2 :(得分:0)
问题不在标题中。好像你正在使用
strAIAreaIncrease = [NSMutableString string:@"someString"];
但是类NSMutableString中没有方法“string:”。尝试使用
strAIAreaIncrease = [NSMutableString stringWithString:@"someString"];
或
strAIAreaIncrease = [NSMutableString stringWithFormat:@"someString %d", someInteger];
关于你的第二个问题:在处理NSMutableString时,你不必使用NSMutableArray。 NSMutableArray中的“Mutable”意味着您可以在生成对象后添加和删除对象。