Objective-C - 改变NSMutableArray的特定元素
NSMutableArray改动元素, 使用-insertObject: atIndex: 和-replaceObjectAtIndex: withObject: 都能够, 即通过插入(insert)和替换(replace)能够实现.
演示样例:
// 降低button监听
- (void) onSubBtnPressed:(UIButton*) sender {
NIDPRINTMETHODNAME();
NSInteger times = [[_serviceNumList objectAtIndex:_servicePos] integerValue];
if (times <= 1) {
return;
}
times--; // 降低
// 改变数组数据
[_serviceNumList replaceObjectAtIndex:_servicePos withObject:[NSNumber numberWithInteger:times]];
// 设置数据
UITextField *mo = [_timesFieldArray objectAtIndex:_servicePos];
NSAttributedString* timesText =[[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%ld", (long)[[_serviceNumList objectAtIndex:_servicePos] integerValue]]]; // 设置文字
[mo setAttributedText:timesText];
_totalPrice = (float)([_goodsList[_servicePos][@"Price"] floatValue]/100.0)*[[_serviceNumList objectAtIndex:_servicePos] integerValue];
[_totalPriceLabel setText:[NSString stringWithFormat:@"%0.1f", _totalPrice]];
}