我有一个奇怪的问题。我正在尝试将对象从ViewControllerA
传递到CreateInvitationViewController
。
在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
}
}
我在我制作的segue上使用Show
动作,它看起来像这样:
这是我得到的错误:
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.'
你有什么建议为什么会这样?
答案 0 :(得分:3)
它告诉你找不到postRequest
。这意味着您要么有一些代码试图设置postRequest
,或者更有可能的是,您在故事板中有一些控件试图连接到名为postRequest
的插座,但是没有这样的插座存在(例如,过去你可能有一个带有该名称的插座,从代码中删除了插座,但忽略了相应地更新故事板)。