Ich habe eine ViewController, wo ich eine Tabellenansicht habe und in jeder Zelle habe ich eine CollectionView.Wie kann ich pushViewController in einer Zelle verwenden Swift
Ich möchte in eine andere Ansicht gehen (wo ich eine Zurück-Taste haben wird), so habe ich versucht, meinen Code zu verwenden, die für die anderen Ansichten funktioniert:
let vc = self.storyboard?.instantiateViewController(withIdentifier: "detail") as! DetailView
vc.name = beachesNames[indexPath.row]
vc.imagak = imagesNames[indexPath.row]
self.navigationController?.pushViewController(vc, animated: true)
Aber weil dieser Code ist in der TableViewCell ich habe einen Fehler, der sagt:
Werte vom Typ ‚HomeViewCell‘ habe kein Mitglied ‚Storyboard‘
gibt es einen alternativen Parameter, die ich Kann ich etwas anderes oder etwas anderes tun?
Vielen Dank im Voraus.
Nur UINavigationController kann pushViewController. Nur UIViewController sollte UINavigationController haben. Eine Möglichkeit, dies zu tun, ist die Verwendung des Delegatenmusters, das es dem UIViewController ermöglicht, die Zelle (im Allgemeinen innerhalb einer UICollectionView, dann einer UICollectionViewCell) an einen bestimmten Punkt zu übergeben, damit die Zieldaten übergeben werden. – Larme
@Larme Danke für Ihren Kommentar können Sie einen Beispielcode geben? –
@Larme was ich getan habe ist eine 'var del: HomeViewController?' Und setze es in meiner 'cellForRow' als' cell.del = self' und dann in meiner didselect (von collectioview) Ich ersetze einfach self durch del. Was denkst du darüber ist es gut, ich habe ein Problem? (Es funktioniert ohne irgendwelche Warnungen) –