visibleCells возвращает все ячейки в collectionView в tableViewCell - PullRequest
0 голосов
/ 18 октября 2018

Я создал пользовательский UITableViewCell , который содержит collectionView.Эта настраиваемая ячейка соответствует протоколам UICollectionViewDelegate и UICollectionViewDataSource и управляет collectionView.

Но когда я использую эту настраиваемую ячейку в tableView, свойство visibleCells моего collectionView возвращает все 20 ячеек, даже если есть только 3 ячейки, которыевиден на экране.

Это приводит к ситуации, когда мой collectionView не использует ячейки повторно, поскольку считает, что все его ячейки видны на экране, и вызывает проблемы с памятью.

Вот моя реализация в tableViewController:

override func viewDidLoad() {
    super.viewDidLoad()

    guard let bundle = Bundle(identifier: "org.cocoapods.*****") else { return }
    tableView.register(UINib(nibName: "CampaignCollectionViewContainerCell", bundle: bundle), forCellReuseIdentifier: "campaignContainerCellIdentifier")
}

.
.
.

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    guard let cell = tableView.dequeueReusableCell(withIdentifier: "campaignContainerCellIdentifier") as? CampaignCollectionViewContainerCell else { fatalError() }
    return cell
}

Я попытался изменить свойство visibleCells, но оно доступно только для получения.

Я думаю, это не имеет значения, но мой пользовательский UITableViewCell находится в частном модуле, а UITableViewController находится в моем основном проекте, который использует этот модуль.

1 Ответ

0 голосов
/ 18 октября 2018

Возвращаете ли вы правильные данные для numberOfSectionsInCollectionView и numberOfItemsInSection

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...