Как получить элемент indexPath из ячейки представления коллекции для делегата? - PullRequest
0 голосов
/ 26 сентября 2019

Итак, у меня есть представление коллекции с заголовком раздела.В этом заголовке у меня есть другой вид коллекции, который прокручивается по горизонтали.Я хочу получить фиксированное количество пользователей в этом представлении коллекции и иметь возможность перенести контроллер представления на страницу профиля выбранного пользователя.

Я создал делегата, так как не могу выдвинуть контроллеры представления из представления многократного использования.Вот этот делегат.

protocol PeopleToFollowDelegate {
    func handleProfileTapped(for cell: FeedReusableView)
}
  // Create function to push users to the correct profile when selected
    func handleProfileTapped(for header: FeedReusableView) {

        print("profile tapped, push user to the correct profile page")
       let header = FeedReusableView()

        //try to grab the indexpath item so the corrext data is pushed
        let user = header.peopleToFollow // ??? What goes here? I cannot grab index path

            let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)

           let profileViewController = storyBoard.instantiateViewController(withIdentifier: "profileViewController") as? ProfileViewController
            profileViewController?.user? = user


            self.navigationController?.pushViewController(profileViewController!, animated: true)

       }

Вот где у меня есть проблемы в коде выше.Обычно я просто беру элемент индекса пути профилей с именем peopleToFollow и подталкиваю пользователя к правильному профилю, подобному этому

        var peopleToFollow = [User]()

        let user = peopleToFollow[indexPath.item]
        let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
        let profileViewController = storyBoard.instantiateViewController(withIdentifier: "profileViewController") as? ProfileViewController


        profileViewController?.user = user

        // Then push to next controller

Однако я не могу написать этот код в didSelect представления коллекции, потому чтопредставление коллекции находится в заголовке раздела представления сбора (представление многократного использования)

Как получить indexpath для выбранной ячейки и поместить этот код в делегат?

1 Ответ

0 голосов
/ 26 сентября 2019

Попробуйте tableView.indexPath(for: someCell)

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