我想打印最后一个值的总和,但是下面的代码通过重叠打印显示标签中的所有值,那么如何只显示标签中值的最后一个总和
-(void)dataPrinting
{
int total=0;
for (int i = 0; i < [totalData count]; i++)
{
total +=i;
}
UILabel * lbl=[[UILabel alloc]initWithFrame:CGRectMake(100,75, 200, 60)];
lbl.text=[NSString stringWithFormat:@"%d",total];
lbl.font=[UIFont fontWithName:@"Arial" size:60];
lbl.textColor=[UIColor whiteColor];
lbl.backgroundColor=[UIColor clearColor];
[scrollView addSubview:lbl];
}
答案 0 :(得分:0)
-(void)dataPrinting
{
int total=0;
for (int i = 0; i < [totalData count]; i++)
{
total += [totalData objectAtindex:i]; /// you need to access value in the array
}
UILabel * lbl=[[UILabel alloc]initWithFrame:CGRectMake(100,75, 200, 60)];
lbl.text=[NSString stringWithFormat:@"%d",total];
lbl.font=[UIFont fontWithName:@"Arial" size:60];
lbl.textColor=[UIColor whiteColor];
lbl.backgroundColor=[UIColor clearColor];
[scrollView addSubview:lbl];
}
答案 1 :(得分:0)
不确定你的意思是“最后一个值的总和”。但是,您可以使用 lastObject 来访问数组的最后一个元素。
int total = [[totalData lastObject] intValue];
<强>更新强>
您在代码中执行的操作是将索引i
添加到total
。请改用以下内容:
total + = [[totalData objectAtIndex:i] intValue];
如果您看到标签彼此重叠,您可能会多次调用dataPrinting
方法。因为你不删除旧的,他们会留下来。您可以创建标签的属性或为标签添加标签并重复使用相同的标签,只需更改标签上的文字即可。
在标题中:
@property (strong, nonatomic) UILabel *totalLabel;
在您的实施中:
-(UILabel)totalLabel
{
if (_totalLabel == nil)
{
_totalLabel = [[UILabel alloc]initWithFrame:CGRectMake(100,75, 200, 60)];
_totalLabel.font=[UIFont fontWithName:@"Arial" size:60];
_totalLabel.textColor=[UIColor whiteColor];
_totalLabel.backgroundColor=[UIColor clearColor];
[scrollView addSubview:_totalLabel];
}
return _totalLabel;
}
-(void) dataPrinting
{
int total=0;
for (int i = 0; i < [totalData count]; i++)
{
total += [[totalData objectAtIndex:i] intValue];
}
self.totalLabel.text = [NSString stringWithFormat:@"%d",total];;
}