Итак, у меня есть представление коллекции с заголовком раздела.В этом заголовке у меня есть другой вид коллекции, который прокручивается по горизонтали.Я хочу получить фиксированное количество пользователей в этом представлении коллекции и иметь возможность перенести контроллер представления на страницу профиля выбранного пользователя.
Я создал делегата, так как не могу выдвинуть контроллеры представления из представления многократного использования.Вот этот делегат.
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
для выбранной ячейки и поместить этот код в делегат?