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

作者: 小蠢驴打代码 | 来源:发表于2018-05-03 22:47 被阅读126次
    项目需求.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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/fxzlrftx.html