Как перейти на страницу в другой контроллер представления с помощью метода tableview действительно выбрал - PullRequest
0 голосов
/ 28 июня 2018

Это мой код для перехода от одного viewController к другому viewControler, но я не могу перемещаться. данные - это остальные объекты, которые хранят категорию из остальных API как имя, развлечения - это категория. когда я нажимаю на категорию перейти к другому viewController

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
    print("hello welcome on this news page")

    // dismiss(animated: true, completion: nil)

    if data[indexPath.row].name == "Entertainment"
    {
         let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
         let destination = storyboard.instantiateViewController(withIdentifier: "WhiteViewController") as! FourthViewController
         navigationController?.pushViewController(destination, animated: true)
         dismiss(animated: true, completion: nil)
         print("Welcome on Business..!")
    }
}

Ответы [ 3 ]

0 голосов
/ 29 июня 2018

Могут быть следующие причины

  1. Проверьте, содержит ли название развлечения или развлечения в виде строки значение? означает чувствительность к регистру (в качестве теста сделайте следующее и проверьте) data [indexPath.row] .name.lowerCased () == "Развлечения" .lowerCased ()

  2. Отсутствует навигационный контроллер (контроллер навигации не встроен), если отсутствует встроенный navigationController для вашего корневого контроллера.

  3. попробуйте удалить dismiss(animated: true, completion: nil)

0 голосов
/ 25 июля 2018

Просто используйте это,

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
    if data[indexPath.row].name == "Entertainment" {
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let whiteVC = storyboard.instantiateViewController(withIdentifier: "WhiteViewController") as! WhiteViewController
        self.navigationController?.pushViewController(whiteVC, animated: true)
    }
}
0 голосов
/ 29 июня 2018

Если вы используете раскадровку, используйте это -

if let navigationObject = UIStoryboard(name: "storyboard_name", bundle: nil).instantiateViewController(withIdentifier: "viewcontroller_storyboardId") as? viewController_name {

   navigationController?.pushViewController(navigationObject, animated: true)
            }

You should add this first

...