2016-03-02 4 views
1

я следующая ситуация:Переход к другому ViewController через RightBarButtonItem

Я создал rightBarButtonItem в моем viewDidLoad:

self.navigationItem.rightBarButtonItem = UIBarButtonItem.init(title: "New", style: .Plain, target: self, action: "newProject") 

Мой вопрос, как я могу двигаться через нажатие этой кнопки программно другому ViewController , используя демонстрацию «segue» (например, push) ».

У меня есть начало, как это:

func newProject() { 

} 

Но я не знаю, дальше, потому что я новичок в Swift.

Любая помощь была бы действительно оценена!

Update:

Таким образом, это целая область, где появляется ошибка:

class NewProject: UIViewController, UITextFieldDelegate, UITextViewDelegate, CustomPickerDelegate { 

    @IBOutlet weak var txtProjectName: UITextField! 
    @IBOutlet weak var tvDescription: UITextView! 
    @IBOutlet weak var txtStartDate: UITextField! 
    @IBOutlet weak var txtEndDate: UITextField! 

    var hud: MBProgressHUD? 
    var customPicker: CustomPickerView? 
    var dictProject: NSDictionary! 
    var projectID: String! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     self.navigationItem.title = "Create new Project" 
     self.hud = MBProgressHUD(view: self.view) 
     self.view.addSubview(self.hud!) 
     self.projectID = ("\(self.dictProject!["id"]!)") 
     self.populateFields() 
    } 
    func populateFields() { 
     if nil != self.dictProject!["name"] { 
      self.txtProjectName.text = self.dictProject!["name"] as? String 
     } 

    } 

И на этой линии появляется ошибка здесь:

self.projectID = ("\(self.dictProject!["id"]!)") 

И это line:

if nil != self.dictProject!["name"] { 
+0

ли вы к ViewController непосредственно перейти через раскадровку из правой кнопки бар? –

+0

Нет, я не хочу этого. Возможно ли это сделать программно? – Walker

+0

Вы создали viewcontroller из раскадровки? –

ответ

0

Отдайте свой идентификатор в раскадровке (т. "NewProject"), а затем выполнить его так:

func newProject() { 
    performSegueWithIdentifier("NewProject", sender: self) 
} 
+0

Это приводит к сбою, и ошибка выглядит так: «Неустранимая ошибка: неожиданно найдено нуль при развертывании необязательного значения». – Walker

+0

Не могли бы вы проверить, где в вашем коде эта ошибка вызвана? –

+0

Тема 1: EXC_BREAKPOINT (код = 1, subcode = 0x1001ee4b0) – Walker

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