Установить контроллер детального представления по умолчанию, когда ничего не выбрано в iPad в Swift (в контроллере разделения представления)?

Я хочу знать, как установить контроллер детального представления по умолчанию, если в главном контроллере представления в iPad в Swift ничего не выбрано.

Например, если приложение просто загружается внутри, а пользователь ничего не выбрал, контроллер подробного представления будет ViewControllerDefault, если пользователь выберет любую из строк в главном контроллере представления, контроллер подробного представления будет ViewControllerResult. Итак, как я могу это сделать в Swift? Спасибо!


person He Yifei 何一非    schedule 09.08.2015    source источник


Ответы (1)


Прошло уже много времени, надеюсь, кому-то поможет.

func viewDidLoad() {
        //..
        let initialIndexPath = NSIndexPath(forRow: 0, inSection: 0)
        self.tableView.selectRowAtIndexPath(initialIndexPath, animated: true, scrollPosition:UITableViewScrollPosition.None)

        if UIDevice.currentDevice().userInterfaceIdiom == .Pad {
            self.performSegueWithIdentifier("ShowDetail", sender: initialIndexPath)
        }
}

func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "ShowDetail" {
            if sender!.isKindOfClass(UITableViewCell) {
                if let indexPath = self.tableView.indexPathForCell(sender as! UITableViewCell) {

                    // Get row from selected row in tableview

                }
            } else if sender!.isKindOfClass(NSIndexPath) {
                let tableCell = self.tableView.cellForRowAtIndexPath(sender as! NSIndexPath)
                let indexPath = self.tableView.indexPathForCell(tableCell!)

                // Get row from sender, which is an NSIndexPath

            }
        }
}
person etnclp    schedule 16.12.2015
comment
Это очень полезно, за исключением того, что я понимаю только цель c. Я чертовски ненавижу Apple за изменение языка. Теперь это означает, что половина сообщества не понимает другую половину! - person Charles Robertson; 02.11.2016