gpt4 book ai didi

ios - 如何通过 iOS 中的 id 将现有值替换为另一个值?

转载 作者:行者123 更新时间:2023-11-29 11:03:06 24 4
gpt4 key购买 nike

如何根据索引将值放入特定行的特定文本字段?我的结果只更新底部或最后一个单元格...

当前它调用自身获取当前值。这个问题的唯一问题是它不会更新当前行,而是更新索引路径的最后一行。

enter image description here

.h文件

//当label1和label 2连接时导致程序崩溃。连接不能将原型(prototype) socket 作为目的地

@property (nonatomic, strong) IBOutlet UILabel *label1; //not connected
@property (nonatomic, strong) IBOutlet UILabel *label2; //not connected


@property (nonatomic, weak) IBOutlet UIStepper *stepper; // not conneted
-(IBAction)stepperChangedValue:(UIStepper *)sender; //connected to uistepper

.m文件

-(IBAction)stepperChangedValue:(UIStepper *)sender{

//my incremental number is here
NSInteger i = [sender value];
NSLog(@"value: %i",i);
UITextField *textField = (UITextField*)[self.view viewWithTag:2];
textField.text = [NSString stringWithFormat:@"%d",i ];



//find row #
UITableViewCell *cell = (UITableViewCell *)[[sender superview] superview];
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
NSLog(@"value: %i",indexPath.row); //I have my row index here


//How do I put my sender value back into the correct row of my table?
}

// Return number of sections in table (always 1 for this demo!)
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [myData count];
}

// Return the amount of items in our table (the total items in our array above)
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [myData count];
}

// Return a cell for the table
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// A cell identifier which matches our identifier in IB
static NSString *CellIdentifier = @"StepperCell";

// Create or reuse a cell
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}

// Get the cell label using it's tag and set it
UILabel *cellLabel = (UILabel *)[cell viewWithTag:1];
[cellLabel setText:[myData objectAtIndex:indexPath.row]];

// get the cell label using it's tag and set it
UILabel *cellLabel2 = (UILabel *)[cell viewWithTag:2];
[cellLabel2 setText:@"0"];

return cell;
}

谢谢大家!我很感激。

最佳答案

-(IBAction)stepperChangedValue:(UIStepper *)sender{

//find row #
UITableViewCell *cell = (UITableViewCell *)[[sender superview] superview];
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
NSLog(@"value: %i",indexPath.row); //I have my row index here

//my incremental number is here
NSInteger i = [sender value];
NSLog(@"value: %i",i);
cell.textField.text = [NSString stringWithFormat:@"%d",i ]; // textField is an outlet for your textfield in your cell

}

你的代码应该是这样的。获取cell 后,您需要更改textfield 的文本。在您的代码中,您正在使用 tag 2 更改 textfield 的文本,最后一个 cell textfield 可能有标签 2。所以它也会导致问题。

关于ios - 如何通过 iOS 中的 id 将现有值替换为另一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14918377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com