标签在我的tableview中:
UILabel *label1;
label1=[[UILabel alloc]initWithFrame:CGRectMake(500,75, 50, 50)];
label1.text=[arr_count objectAtIndex:indexPath.row];
[label1 setTranslatesAutoresizingMaskIntoConstraints:NO];
label1.tag=100;
[cell addSubview:label1];
此处使用按钮操作
进行增量 - int tagValue=[[arrCount objectAtIndex:click.tag] intValue];
if(tagValue <=5)
{
tagValue++;
NSNumber *num=[NSNumber numberWithInt:click.tag];
[arrCount replaceObjectAtIndex:click.tag withObject:num];
NSLog(@"increment %@",arrCount);
}
NSIndexPath *ind=[NSIndexPath indexPathWithIndex:click.tag];
label2.text = arrCount[click.tag];
[self.mTableView.tableView reloadInputViews];
}
增加值并将其存储到数组中。给予label.i的数组值提到了问题作为图像。
在此处输入图片说明[]
答案 0 :(得分:0)
我重构了一下你的代码,似乎有效:
NSMutableArray *array = [[NSMutableArray alloc] initWithArray:@[@0, @1, @2, @3, @4, @5, @6, @7, @8, @9]];
NSLog(@"original %@", array);
for (int i = 0; i < array.count; i++) {
int value = [array[i] intValue];
value += 1;
[array replaceObjectAtIndex:i withObject:@(value)];
NSLog(@"incremented %@", array);
}
输出:
original (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
incremented (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
还有一些通知:
label1.text=[arr_count[indexPath.row];
或arr_count[click.tag]
。 arr_count
是一个坏名字,第一个在objc我们不在名称中使用_
,第二个我们不使用快捷方式,第三个它建议它是一个计数器,而不是数组< / LI>
tagvalue
也不好,字0后的每个字都应该有大写字母,所以它应该是tagValue
。NSNumber
而不是NSString
是不是更好?更多格式,但它更正确! 现在让我们修复一下真正的错误:不仅你必须在数组中交换值,而且必须在交换数组中的值后更新标签的值 - 这就是它无法正常工作的原因。 label.text从数组中复制值,如果更新数组则不会更新。您需要根据阵列手动更新标签。
所以在你的代码之后你应该写:
label1.text = arr_count[click.tag];
但是我强烈建议您将代码重构为上述要点,以使您的代码更好并提高您的开发人员技能:)