我正在制作一个表格对象,通过滑动手势将显示的值更改为完全不同的值。这是有效的,因为有一个UIPageControl,它显示了必须在表上显示的集合。该代码涉及一个包含页面索引处的可变数组的可变数组。例如,第一页在索引0处给出了可变数组。这些可变数组包含表对象,并通过引用单元格的索引向表格提供适当的值。然而,当表包含多于1个单元格时,它会混合不同页面的数组对象,这些不应该发生,因为这些是不同的数组。代码在这里:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
startDtLbl = [[UITextField alloc] initWithFrame:CGRectMake(10, 11, _answerTable.frame.size.width, 25)];
startDtLbl.backgroundColor = [UIColor clearColor];
startDtLbl.tag = 1;
startDtLbl.returnKeyType = UIReturnKeyDone;
startDtLbl.delegate = self
[cell.contentView addSubview:startDtLbl];
}
else {
startDtLbl = [cell.contentView viewWithTag:1];
}
startDtLbl.text = [[answers objectAtIndex:_pageView.currentPage] objectAtIndex:(indexPath.row)];
return cell; }
-(BOOL) textFieldShouldReturn:(UITextField *)textField {
UITableViewCell *textCell = [[textField superview] superview];
NSIndexPath *indexPathOfText = [_answerTable indexPathForCell:textCell];
[switchStates replaceObjectAtIndex:indexPathOfText.row withObject:textField.text];
[answers replaceObjectAtIndex:_pageView.currentPage withObject:switchStates];
[textField resignFirstResponder];
return YES; }
bool方法只是将文本分配给数组,并通过记录我发现这很有效。如果你没有注意到,单元格包含TextFields。关于什么可能出错的任何想法?