Objective-C - 改变NSMutableArray的特定元素
阅读原文时间:2023年07月11日阅读:1

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]];
}