Два изменяемых массива смешиваются
Я делаю объект таблицы, который жестом пальца изменяет отображаемые значения на совершенно другие. Это работает, потому что есть 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. Есть идеи, что может быть не так?