前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >问题:实际开发中的深浅拷贝问题

问题:实际开发中的深浅拷贝问题

作者头像
小蠢驴打代码
发布2018-05-24 13:12:20
9820
发布2018-05-24 13:12:20
举报
文章被收录于专栏:小蠢驴iOS专题

项目需求.png

项目需求如上图,主要流程:

  1. oneVC push 到twoVC (比如从首页,进入通讯录VC)
  2. twoVC pop到oneVC,并将数据回调到oneVC (进行用户信息修改,之后回到首页,可以看到通讯录中用户信息的修改结果)
  3. oneVC 再次 push 到 twoVC,同时把 twoVC 回调过来的数据又传回去,同时展示 (此时进入通讯录界面,可以看到刚刚修改完的新的数据)

实际开发中应用的场景展示

appDemo.gif

实际使用的场景如上图所示,就是简单的数据回调,push的时候又将数据传过去而已

错误场景重现

errorDemo.gif

错误情况出现:理论上,数据是通过block回调的,回调方法是写在“保存”按钮中,而errorDemo中,点击的是导航条的返回,竟然发现datas的数值也变了


为了避免空手套黄图的嫌疑,先上一下正确的版本,以证清白~

fixDemo.gif

  • 这个问题,表面看上去很简单,其实有一定的技术难点,如果不会lldb 进行debug调试的,可能做起来会有点吃力;
  • 目测估计,只是要有1年的实际开发经验的才做的出来,因为问题的本质不是特别好发现;
  • 友情提示,注意数据源的数据结构~
  • 这道题有一定的技术点,如果在我放出答案前做出来或者有思路,或者发现问题本质的,可以换取github star一枚(因吹斯听~)
  • 保不齐哪天就有同样考点的面试题出现了也说不定,有兴趣的可以当做面试上机题试试~

问题demo

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.05.03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实际开发中应用的场景展示
  • 错误场景重现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档