presentViewController von TableViewCell
Ich habe einen TableViewController, TableViewCell und einen ViewController. Ich habe eine Schaltfläche in der TableViewCell und möchte ViewController mit @ präsentierepresentViewController
(ViewController hat jedoch keine Ansicht im Storyboard). Ich habe versucht mit:
@IBAction func playVideo(sender: AnyObject) {
let vc = ViewController()
self.presentViewController(vc, animated: true, completion: nil)
}
Error: Wert vom Typ TableViewCell hat kein Mitglied presentViewController
Dann habe ich versucht
self.window?.rootViewController!.presentViewController(vc, animated: true, completion: nil)
Error: Warnung: Versuch, dessen Ansicht nicht in der Fensterhierarchie enthalten ist!
Was mache ich falsch? Was kann ich tun, um ViewController von TableViewCell zu präsentieren? Wie kann ich Daten von TableViewCell an die neu präsentierende VC übergeben?
Aktualisieren
protocol TableViewCellDelegate
{
buttonDidClicked(result: Int)
}
class TableViewCell: UITableViewCell {
@IBAction func play(sender: AnyObject) {
if let id = self.item?["id"].int {
self.delegate?.buttonDidClicked(id)
}
}
}
----------------------------------------
// in TableViewController
var delegate: TableViewCellDelegate?
func buttonDidClicked(result: Int) {
let vc = ViewController()
self.presentViewController(vc, animated: true, completion: nil)
}
Ich erhalte eine Fehlermeldung: Die Darstellung von Ansichtscontrollern auf getrennten Ansichtscontrollern wird nicht empfohlen.
(Bitte beachten Sie, dass ich hinter TableView eine Kette von NavBar & TabBar habe.)
Ich habe es auch versucht
self.parentViewController!.presentViewController(vc, animated: true, completion: nil)
Gleicher Fehler.
Auch versucht,
self.view.window?.rootViewController?.presentViewController(vc, animated: true, completion: nil)
Gleicher Fehler