2016-09-16 2 views
0

Я получил этот класс:Передача информации с помощью перетекает программно в Swift

class ViewController: UIViewController { 

    var keywords = [] 

    ... 

} 

и другой класс:

class ExplorerViewController: UIViewController { 

    func searchMapSegue() { 
     let next = self.storyboard?.instantiateViewControllerWithIdentifier("MapViewController") as! ViewController 
     next.keywords = searchKeywordsArray 
     self.presentViewController(next, animated: false, completion: nil) 
    } 
} 

и searchMapSegue() вызывается по нажатию кнопки.

и я пытаюсь передать searchKeywordsArray в ViewController, но получаю EXC_BAD_INSTRUCTION. Может ли кто-нибудь сказать мне, в чем проблема? Я не использую раскадровку.

+0

В коде вы используете раскадровку и в описании вы говорите «Я не использую раскадровку.» что это значит? –

+0

@NiravD Извините, я имел в виду, что не использую main.storyboard. Я просто выполнил это: http://stackoverflow.com/questions/31813942/swift-programmatically-navigate-to-viewcontroller-and-pass-data. – tryingtolearn

+0

Вы работаете в XIb? –

ответ

0

Есть несколько вещей, которые вам необходимо рассмотреть здесь.

1) Ваш текущий диспетчер представлений и ExplorerViewController находятся в одном рассказе? если да, то вы можете использовать self.storyboard. если нет, вы не можете использовать self.storyboard.

Вы должны использовать ниже код

let explorerViewController = UIStoryboard(name: NAME_OF_YOUR_STORYBOARD, bundle: nil).instantiateViewControllerWithIdentifier("ExplorerViewController") as! ExplorerViewController 

2) вы заходящего идентификатор правильно? Вам нужно установить идентификатор. См. Прилагаемый скриншот.

enter image description here

Надеется, что это решит вашу проблему

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