首页 > Swift 代理对象为nil

Swift 代理对象为nil

(我上传的是高清图片,可直接点击图片查看原因)

我想做一个两个view间传值,Storyboard是这样的:

顺序是点第一个视图中的Button进入第二视图

在第二视图中输入内容,再Button回到第一视图

根据所填内容,更新下面的hello这个lable.

两个社图的代码是:

第一个:

第二个:

我在ModeViewController中设置了一个断点,发现输入内容确定就回到第一视图,但却没能更新了lable

断点的值为nil

反复检查了,仍不得法,烦请帮忙看下是什么原因。


你搞错了这一点,你在ViewController里面的modeView和在present给你的ModeViewController并不是一个实例。前面这个是你调用ModeViewController()生成的, 后面那个也就是你看到的那个是segue从storyboard上面生成的。你把delegate设给前面那个modeView了,响应didClick时间的ModeViewController并没有设置delegate。

你需要在 prepareForSegue:这个方法里面取到destinationViewController,给它设置delegate。这里拿到的destinationViewController就是跳转之后展示的VC.

【热门文章】
【热门文章】