「最後の値の合計」の意味がわかりません。ただし、 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];;
}