2015-07-01 5 views
1

Я работаю над программой для тренировки. Я закончил все, теперь я застрял в деталях. Итак, когда моя тренировка заканчивается, ему нужно открыть новый контроллер вида, который скажет пользователю, что он закончил тренировку. Я пытался сделать это с помощью этого кода:Быстрое открытие нового контроллера просмотра programaticaly

var storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 

    //var vc: UINavigationController = storyboard.instantiateViewControllerWithIdentifier("newViewController") as! UINavigationController 

    var vc: EndOfWorkout = storyboard.instantiateViewControllerWithIdentifier("newView") as! EndOfWorkout 

    self.presentViewController(vc, animated: true, completion: nil) 

Но это открывает иногда и иногда not.Also, когда он открывает закрывается после короткого периода времени. Мне также нужно в конце, что пользователь может вернуться в главное меню, но не те примеры, которые я пытался, работают. Спасибо, что кто-то может мне помочь: D

+0

Вы звоните dismissViewController непосредственно до или после презентации –

+0

Что вызывающему этот код? Всегда ли он вызывается из основного потока? И есть ли предупреждения в окне вывода? – Travis

+0

Я решил это по-другому –

ответ

-1

Ваша переменная vc может быть уничтожена ARC, попробуйте установить этот экземпляр в свойстве вашего контроллера.

Нечто подобное:

class MainViewController: UIViewController{ 

    private var vc: EndOfWorkout? 

    override func viewDidLoad() { 
    ... 
     vc = storyboard.instantiateViewControllerWithIdentifier("newView") as! EndOfWorkout 
    } 

} 
Смежные вопросы