2015-12-06 5 views
1

У меня странная проблема. Я пытаюсь передать объект от ViewControllerA до CreateInvitationViewController.Передача объекта между контроллерами просмотра в Swift

В ViewControllerA У меня есть следующий код:

func btnPassedRequestTouched(sender:UIButton!) 
{ 
    print("button passed request touched") 
    // pass request 
    self.performSegueWithIdentifier("createInvitationSegue", sender: self) 

} 

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 
{ 
    if segue.identifier == "createInvitationSegue" { 
     let createInvitationView = segue.destinationViewController as! CreateInvitationViewController 
     let invitation = invitations[self.carousel.currentItemIndex] 
     createInvitationView.invitation = invitation 
    } 
} 

я поставить точку останова на этой линии: createInvitationView.invitation = invitation, и я могу видеть, что этот объект существует.

В ViewControllerB У меня есть следующий код:

class CreateInvitationViewController: UIViewController { 

    var invitation = Invitation() 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     // if invitation is set, then use it to populate fields 
     if let _ = self.invitation.id { 
      invitationText.hidden = false 
      invitationText.text = self.invitation.note 
     } 
    } 

Я использую Show действие на Segue, что я сделал, и это выглядит следующим образом: Show action Это ошибка, что я получаю:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<MyProject.CreateInvitationViewController 0x156365810> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key postRequest.' 

У вас есть предположение, почему это происходит?

ответ

3

Это говорит вам, что не может найти postRequest. Это означает, что у вас либо есть код, который пытается установить postRequest, либо, скорее всего, у вас есть некоторый контроль в вашей раскадровке, которая пытается подключиться к розетке под названием postRequest, но такой розетки не существует (например, возможно, у вас есть выход с это имя в прошлом, удалили выход из кода, но пренебрегли обновлением раскадровки соответственно).

+0

Спасибо большое, это спасло меня :) – bla0009

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