我正在制作学生预算申请表。并且当用户添加新费用时,代表所有费用总和的标签应该更新,但它不会。
float currentValue = [self.total floatValue];
self.total = [NSNumber numberWithFloat:(currentValue + amountValue)];
self.label.text = [NSString stringWithFormat:@"Razem: %@", total];
在debuger中总计具有适当的值。
当然,当我输入类似这样的内容时
self.label.text = [NSString stringWithFormat:@"something different"];
标签改变了他的内容。
EDIT。
我改变了代码:
self.label.text = [NSString stringWithFormat:@"Razem: %@", [total stringValue]];
但它只更新一次。我记录了这个: YT
答案 0 :(得分:7)
您必须在代码中进行的唯一更改是将'total'替换为'[total stringValue]'。
self.label.text = [NSString stringWithFormat:@"Razem: %@", [total stringValue]];
或尝试将标签的文字设置为:
[self.label setText:[NSString stringWithFormat:@"Razem: %@", [total stringValue]]];
答案 1 :(得分:2)
如果要打印浮动(或双重),则应使用“%f”而不是“%@”
self.label.text = [NSString stringWithFormat:@"Razem: %f", [self.total floatValue]];
答案 2 :(得分:1)
NSNumber
是一个对象,因此%@
将打印其描述。要将其值打印为浮点数,请使用floatValue
和%f
。
self.label.text = [NSString stringWithFormat:@"Razem: %f", [total floatValue]];