Swift 代理对象为nil
(我上传的是高清图片,可直接点击图片查看原因)
我想做一个两个view间传值,Storyboard是这样的:
顺序是点第一个视图中的
Button
进入第二视图
在第二视图中输入内容,再
Button
回到第一视图
根据所填内容,更新下面的
hello
这个lable.
两个社图的代码是:
第一个:
第二个:
我在
ModeViewController
中设置了一个断点,发现输入内容确定就回到第一视图,但却没能更新了
lable
。
断点的值为
nil
。
反复检查了,仍不得法,烦请帮忙看下是什么原因。
whyisme
10 years ago
Answers
你搞错了这一点,你在ViewController里面的modeView和在present给你的ModeViewController并不是一个实例。前面这个是你调用ModeViewController()生成的, 后面那个也就是你看到的那个是segue从storyboard上面生成的。你把delegate设给前面那个modeView了,响应didClick时间的ModeViewController并没有设置delegate。
你需要在 prepareForSegue:这个方法里面取到destinationViewController,给它设置delegate。这里拿到的destinationViewController就是跳转之后展示的VC.
zzjin
answered 10 years ago