Swift使用Main.storyboard的segue值来回传数据

在正文之前我不得吐槽一下,学新语言真是太坑太坑了,如果是纯新手或者仅仅觉得这个行业工资高而转战的千万不要选新的语言!!我其实主要是想学JAVA做服务端的,然后选了个ios作为我的客户端来展示,然后直接从swift学起,这个语言不但新,而且还跟电子产品一样不断更新,虽然在经过几次的更新后语言越来越简洁了,但是对于新学习的童鞋来说不是一件好事,因为有用的教程实在太少了……

比如我即将写的东西就是我踩的一个坑,我google了大半天,能找到有用的资料实在太少了,全是教你用delegate或者block之类来回传的,那么我们就开始我们的主题:用Swift语言&使用Main.storyboard来进行数据的回传。

Main.storyboard也是个挺新的东西,我发现有很多新手教程居然会教人直接删掉这个东东,改用纯代码,我是很不理解的,计算机的技术本来就是日新月异的,紧跟步伐才是我们应该做的,为什么反而要故步自封呢?

啊,发现废话又蹦出来了。那是因为这功能太简单了,不凑点字数不好看......


先再声明一下我现在的环境噢,用的是Xcode 8.2、Swift 3,用的是storyboard来做UI,我就直接拿我自己作品的截图来说明了~~

Swift使用Main.storyboard的segue值来回传数据_第1张图片
首先的首先,我把左边的界面称为A,右边的界面成为B,现在我要在B中输入数据,然后点一下下面的那些按钮,B就会退出,然后A就得到B的数据;

Swift使用Main.storyboard的segue值来回传数据_第2张图片
第一步,在A中按住control键按住Button控件拖动到B,然后出来这个框框,你们可以选show,我选的是modal,然后就可以在A中按button进入B了,这一步我认为99.9%的人都已经会了;


第二步,在A.swift的class里面敲入这串代码,中间的ZhuToSet是随你们喜欢,可以改你喜欢的,为什么我不直接复制代码呢,那是因为我不希望你们直接拷贝,一来代码要自己敲的才有意思,二来是其实这个功能要敲的代码实在很少;


第三步,这时候要回到storyboard的界面,点一下B的界面,这时候B的界面顶端就会出现这三个按钮;

Swift使用Main.storyboard的segue值来回传数据_第3张图片
第四步,主菜来了,按住control键,再按住那个铜钱的图标,把它拉到最后边的那个图标,然后就会出现上面那个黑色框框,里面会显示zhuToSetWithSegue,注意到了吗,zhuToSet就是我刚刚在A中敲的名字,然后点击它;


第五步,进入你的B.swift,在class中输入这一串代码,这里我要解释一下这串代码,viewWillDisappear表示在生命周期中即将消失的时刻,然后我们override,就是重写这一个即将消失时的做法,原来默认是即将消失时什么都没干的,然后我们修改成这两行代码,第二行的意思就是赋值,这个没什么好说的吧,记得这个editModel也要定义成String的就行。然后第三行就是说你消失的时候实现identifier为”zhuToSet”的跳转,是不是zhuToSet又很眼熟呢~~记得这串字符串如果你之前改过了那么之后的所有都要改为一样;


第六步,还是在B的swift中,找你的一个按钮,在你的按钮中输入这串代码,这句话的意思就是告诉对方你要结束生命了;

Swift使用Main.storyboard的segue值来回传数据_第4张图片
第七步,返回你的A.swift中,还记得第二步中写过的那个代码体吗?现在就在里面填充代码了,第三行的Zhu要换成你们的B.swift对应的名字,因为现在只是想证实一下能不能传值,所以就直接print了这个值;


OK,大功告成,打完收工。
最后不得不再吐槽一下,就这个超简单的东东我去搜了很多别人的博客,找到了一个用swift写的,结果那个博主可能觉得太简单了吧,居然还配搭上tableview来实现,明明二十行的代码硬生生顶到一百多行……然后还找到一篇简洁的,结果使用OC语言来写的,哎,不得不感叹,慎入新语言。

你可能感兴趣的:(swift)