Durch Drücken einer UIButton in einem UIViewController (Detailansicht eines Splitview-Controllers) wird ein UITableViewController geöffnet, der als Popover angezeigt wird. Dies wird durch einen Übergang erreicht, und "Art" wird im Attributinspektor als "Präsentieren als Popover" festgelegt. Wenn eine UITableViewCell im UITableViewController ausgewählt ist, möchte ich, dass der UIViewController diese Auswahl abfängt.Zugriff auf übergeordneten Ansichtscontroller über Popover in swift über Storyboard
Dies ist, was ich in der UITableViewController zu tun versuche:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.cellForRowAtIndexPath(indexPath)
let myViewController = presentingViewController as! MyViewController
myViewController.variable = cell.someProperty
self.dismissViewControllerAnimated(true, completion: nil)
}
Dies gibt im Protokoll: „Fataler Fehler: unerwartet gefunden null, während ein optionaler Wert auszupacken“, was darauf hinweist, dass ich nicht die fangen Elternteil/Präsentation. Nachdem ich über Popovers gelesen habe, sollte ich einen Delegierten implementieren und Methoden delegieren. Aber ich verstehe nicht, wie und wie.
Was ist der richtige Weg, dies zu tun?
tun Sie einfach als dies ,,, MYViewController.Variable = cell.someProperty .. –
Danke für Ihren Vorschlag, aber das funktioniert nicht. –