ios
今天听了反向传值,倒是一下子把我给弄懵了!
原来也听过,但是,没有来得及回顾。今天把原来的代码拿出来之后,发现不仅没有成功,而且还漏洞百出。调试了两个重要的部位之后,程序运行成功了!
也希望看到这篇文章的朋友,能够得到一些提示,不犯低级性的错误。
需要做的事情:
1.定义两个ViewController,用来传值;
2.在两个界面中,分别设定一个UITextField和一个UIButton。在第一个界面中,UITextField用来显示第二个界面传来的值,这个地方也可以用UILabel来代替;UIButton用来点击推到下一个界面;在第二个界面中,UITextField是用来输入数值的,UIButton是用来返回到上一个界面的。
3.定义UIButton和UITextField,大家肯定都会,我直接在这里写方法了。
4.要定义一个协议,用来约束代理,来实现方法
准备工作
1.先写代理。在这个代理里面,必须得实现transitTheString:方法
2.在第二个界面中,给UIButton关联方法tapButton.将UITextField做成属性,方便在这里取值
正是这里面的respondsToSelector方法,把我给弄懵了。猛地一看,我还以为没有学习过。。如果代理响应了这个方法,则会把值给传递过去。
3.回到第一个界面,需要做两件事情
(1)给UIButton添加方法,用来推到第二个界面在这里面,定义了第二个界面,同时把自己作为第二个界面的代理,最后通过此按钮,推到下一个界面。(我就是在这个地方,忘记设置代理了)
(2)完成代理的方法
做为代理,应该完成代理的方法,这个就是代理的方法,且参数是通过str传递过来的。先是打印了一下str,确定是否有值;然后将这个值赋给第一个界面的UITextField
4.所有应该做的事情就这么结束了。
其实看起来还是蛮简单的。只是要理清思路,不要着急,不要慌。
最近越来越感觉基础知识确实很重要。一开始的时候,心里干着急,稳不下心来仔细研究,现在还好一点,至少愿意花功夫来学习。
这也许和昨天看的文章有关系吧。。“走出自己的安逸区”。。。