У меня странная проблема. Я пытаюсь передать объект от 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, что я сделал, и это выглядит следующим образом: Это ошибка, что я получаю:
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.'
У вас есть предположение, почему это происходит?
Спасибо большое, это спасло меня :) – bla0009