У меня проблема с моим табличным представлением. Я добавил кучу элементов в массив и попросил tableView заполнить себя этими элементами из массива, он работал нормально, но когда я изменил индексы (заказы) элементов в массиве, tableView не отображал элементы правильно , Я знал, что мои массивы и заказы на их товары работали так, как я ожидал, потому что NSLogs мне так сказали. Может ли кто-нибудь помочь мне в этом? Заранее спасибо!TableView не извлекает элементы из массива
Это метод, который я использовал, чтобы добавить новый пункт:
- (IBAction)AddNewItem:(id)sender{
BNRItem *newItem = [[VKItemStore sharedStore] createItem];
NSInteger lastRow = [[VKItemStore sharedStore].itemsArray indexOfObject:newItem];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:lastRow inSection:0];
[self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationTop];
}
и это, как я изменил порядок элементов в массиве:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"UITableViewCell" forIndexPath:indexPath];
NSMutableArray *items = [VKItemStore sharedStore].itemsArray;
if (items.count == 2) {
items[0] = items[1];
items[1] = [VKItemStore sharedStore].item;
}
NSLog(@"AFTER ARRAY: %@", items);
BNRItem *item = items[indexPath.row];
cell.textLabel.text = [item description];
return cell;
}
Я думаю, что внутри AddNewItem: метод, который вы добавляете деталь в itemsArray и в вашем cellForRowAtIndexPath: метод доступа к элемент из массива privateItems. – iHulk
Как я понимаю, ваш код всегда добавляет новую строку в конец таблицы. Что вы хотите? если ваша таблица не обновляется, вы можете попробовать этот код. [self.tableView beginUpdates]; [self.tableView insertRowsAtIndexPaths: @ [indexPath] withRowAnimation: UITableViewRowAnimationTop]; [self.tableView endUpdates]; – muhammedkasva
На самом деле это опечатка, которую я сделал, privateItems и itemsArray - это точно то же самое, я обновил код для вас сейчас, пожалуйста, посмотрите. Благодаря! @iDeveloper – Alvarez