Segue ohne Storyboards erstellen und ausführen

Ich habe eine App ohne Storyboards, die gesamte UI-Erstellung erfolgt in Code und ich habe einsplitView Womit ich es für das iPhone nutzbar machen würde, da die App zunächst nur für das iPad entwickelt wurde. Wenn Sie in der Master-Ansicht eine Zeile in der Liste auswählen, funktioniert sie auf dem iPhone nicht, auf dem iPad jedoch einwandfrei.

So meine Frage ist, kann ich den Abschnitt erstellen und ausführen, mit dem die Detailansicht auf dem @ angezeigt werden kandidSelectRowAtIndexPath Methode

Hier ist was ich bisher gemacht habe:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        let segue = UIStoryboardSegue(identifier: "test", source: self, destination: detailViewController!)
        performSegueWithIdentifier("test", sender: self)
    }

Aber als die App ausgeführt und eine Zeile ausgewählt wurde, stürzte sie ab und sagte, dass sie einen Performhandler benötig

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        let segue = UIStoryboardSegue(identifier: "test", source: self, destination: detailViewController!, performHandler: { () -> Void in
                let object = self.fetchedResultsController.objectAtIndexPath(indexPath)
                let controller = self.detailViewController!
                controller.detailItem = object
                controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem()
                controller.navigationItem.leftItemsSupplementBackButton = true


        })
        performSegueWithIdentifier("test", sender: self)
    }

und jetzt bei der Auswahl einer Zeile xcode sagt, dass es keine Segue mit einem solchen Bezeichner "Test" gibt.

Ich habe auch versucht, es von @ aufzurufsegue.perform() und fügen Sie den performHandler-Inhalt zur prepareForSegueMethod hinzu:

 if segue.identifier == "test" {
            if let indexPath = self.tableView.indexPathForSelectedRow {
                let object = self.fetchedResultsController.objectAtIndexPath(indexPath)
                let controller = (segue.destinationViewController as! UINavigationController).topViewController as! DetailViewController
                controller.detailItem = object
                controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem()
                controller.navigationItem.leftItemsSupplementBackButton = true
            }
        }

und es tut einfach nichts, stürzt nicht ab, hebt einfach die ausgewählte Zeile hervor und das ist alles

Kann ihr mir helfen?

EDIT: Wie Oleg Gordiichuk sagte, ist es nicht möglich, das zu tun, was ich ohne Storyboards machen möchte, also danke für seine Hilfe:)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage