Я хочу использовать segue для отображения страницы с подробным описанием выбранного UICollectionViewCell, однако эта ячейка находится внутри UITableViewCell. проблема в том, что я не могу использовать «performSegueWithIdentifier» в TableViewCell (тот, который содержит CollectionView), я понимаю, что эту функцию можно использовать только в UIViewController, но мои данные (из JSON) получены в TableViewCell. Я не знаю, как получить доступ к ним из ViewController, или, может быть, я могу использовать другой способ для выбора CollectionViewCell в TableViewCell. Вот мой код:Swift: Как использовать Segue при выборе UICollectionViewCell (внутри UITableViewCell)
class TableViewCell: UITableViewCell, UICollectionViewDataSource, UICollectionViewDelegate {
var posts1: [Posts] = [Posts]()
var posts2: [Posts] = [Posts]()
var categories: [Category] = [Category]()
var selectedPost1: Posts?
У меня есть 2 массивов (post1 и posts2), я хочу, чтобы переход, чтобы показать детали всех элементов как в posts1 и posts2 массиве.
Я пытался добавить функцию:
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
self.selectedPost1 = self.posts1[indexPath.row]
}
но внутри я не могу назвать "performSegueWithIdentifier". любые предложения по решению этой проблемы? Благодарю.
Я знаю, как использовать его, когда он находится в UITableViewController или UIViewController, но моя ячейка находится внутри другой ячейки, как я могу вызвать эту функцию внутри ячейки? –
У вас должен быть главный UITableViewController, где ваша ячейка правильная? И вы создали segue из ячейки для подробного просмотра? Я предлагаю, чтобы вы перешли в свой UITableViewController, вы переопределите prepareForSegue (не выполняетеSegueIdentifier). Как это, например, переопределения Func prepareForSegue (SEGUE: UIStoryboardSegue !, отправитель:! AnyObject) { если (segue.identifier == "Load View") {// передавать данные следующего вида }} –
да, уже сделал это. Но у меня проблемы с передачей данных. Я загрузил все данные из Интернета и сохранил их в массиве, а массив находится в классе UICollectionView (который находится внутри TableView). Как я могу передать их в основном UITableViewController? это похоже на то, что все мои данные хранятся внутри «posts1», как я могу передать их в основной UITableView? Благодарю. жаль, что я новичок в Свифт. –