Извините, но вы не "распихиваете элементы по ячейкам" - вы отображаете данные в ячейках видимых на экране и подгружаете следующие данные в те же самые ячейки (почитайте про
dequeueReusableCell
) если вы начинаете скролить и там есть данные которые надо отобразить.
За вопрос "есть ли данные которые надо отобразить" отвечает метод делегата
tableView(_ tableView: .., numberOfRowsInSection:..)
За "подгрузку следующих данных в те же самые ячейки" отвечает метод делегата
tableView(_ tableView: .., cellForRowAt:..)
Если мой ответ не отвечает на ваш вопрос, пожалуйста перефразируйте или раскройте свой вопрос больше.