2015-06-28 5 views
0

настоящее время у меня этот код:prepareForSegue не открывая ViewController

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    // Get the new view controller using segue.destinationViewController. 
    // Pass the selected object to the new view controller. 
    print("Being called: PrepareForSegue") 

    if(segue.identifier == "FBLoggedInSegue"){ 
     print("Identifier: FBLoggedInSegue") 
     let nextVC = (segue.destinationViewController as? FBFriendsController)! 
     nextVC.accessToken = FBSDKAccessToken.currentAccessToken() 
     print("Niks gebeurd") 
    } 
} 

консоль на самом деле показывает все операторы печати в моем если заявление. К сожалению, readyForSegue не откроет FBFriendsController.

Это код, который я запускаю в функции viewDidLoad().

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view. 
    if (FBSDKAccessToken.currentAccessToken() != nil) { 
     self.performSegueWithIdentifier("FBLoggedInSegue", sender: self) 
    } 
} 
+1

Перемещения performSegue от 'viewDidLoad' до' viewWillAppear' или 'viewDidAppear' – Paulw11

ответ

1

Убедитесь, что вы 100% уверены в segue.identifier: Изменить print("Identifier: FBLoggedInSegue") для отображения фактического идентификатора, в противном случае вы отработку предположения.

У вас установлен ID на вид, который вы хотите перечислить до или или фактическую строку segue в интерфейсе Builder?

Надеется, что это помогает :)

EDIT: ли это:
let vc : YourViewController storyboard.instantiateViewControllerWithIdentifier("FBLoggedInSegue") as YourViewController vc.accessToken = FBSDKAccessToken.currentAccessToken() self.presentViewController(vc, animated: true, completion:nil)

Кажется, проблема присутствуют как контроллер представления не получал выделено :)

+0

Я сам щелкнул по самому сегменту (серию шоу между первым и вторым контроллером), а затем дал ему идентификатор. Так что это должно хорошо работать, правильно? – jbehrens94

+0

Я не быстрый специалист, но вот как бы я это сделал в Obj-C. Удачи? – Droideh

+0

Я изменил, чтобы проверить 'segue.identifier!', Поскольку это «Необязательно». Он все еще попадает в оператор if, печатая правильный код. Я действительно проверял на segue.identifier 'print (segue.identifier!)'. Тем не менее, не меняя ViewControllers. – jbehrens94

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