Самая распространенная причина этого - не повторное использование ячеек таблицы.Если вы создаете новую ячейку для каждой логической строки в массиве (вместо удаления из очереди и повторного использования), табличное представление может продолжать отображать все ячейки. (** Edit: **, вероятно, не произойдет.)
Если не это, то это будет один из трех методов, которые reloadData
вызывает:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
Таблицы просто отображают данные.Если таблица дублируется, то вы, скорее всего, дублируете данные в коде.Вы хотите убедиться, что один из них также не вызывает повторного считывания исходного источника массива и добавления его в MutableArray, который предоставляет данные в таблицу.