Функцию, которую вы ищете, не существует, но в соответствии с вашим комментарием выше можно было бы получить каждую ячейку (или какой-либо объект модели, который она принимает в качестве свойства), чтобы сделать API pre-load call? Таким образом, данные будут предварительно загружены для видимых ячеек. Когда новые ячейки будут прокручиваться, их данные будут загружены по очереди.
Например, в камере:
class MyCell: UITableViewCell {
var someObject: MyObject {
didSet {
someObject?.loadData()
}
}
}
и в контроллере представления:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "MyCell", for: indexPath) as! "MyCell"
cell.someObject = myObjects[indexPath.row]
return cell
}
Таким образом, вы только загрузка данных для клеток в поле зрения. Если вы хотите добавить:
func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath) {
cell.someObject.cancelLoading()
}
Вы можете убедиться, что объекты в ячейках больше не просматриваются, если они не требуются.
что бы вы хотели сделать внутри этого метода? Возможно, знание этого может привести ко мне (или кому-то) что-то предложить. –
Спасибо за комментарий. Я хотел бы получить список видимых ячеек, а затем выполнить вызов API для предварительной загрузки только данных относительно них (например, сценарий представления мастера/детали, где мастер показывает таблицу со списком доступных данных из первого API вызов и подробный вид показывают данные, которые извлекаются из второго вызова API. – mm24
Что вы подразумеваете под «заканчивает загрузку»? – Sulthan