[英]Passing object between view controllers in Swift
我有一个奇怪的问题。 我试图将一个对象从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.'
你有什么建议为什么会这样吗?
它告诉你它无法找到postRequest
。 这意味着您要么有一些代码试图设置postRequest
或者更有可能的是,您在故事板中有一些控制权,试图连接到名为postRequest
的插座,但是没有这样的插座存在(例如,您可能有一些插座过去的那个名字,从代码中删除了插座,但忽略了相应地更新故事板)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.