iOS开发中最经典的问题

推荐阅读:iOS开发——BAT面试题合集(持续更新中)

在主线程操作UI
一定要在主线程里执行UI操作,这是一个初级工程师都应该懂得的道理,但是,在实际开发中,我们往往陷入这个巨坑,而找不到原因。最典型的一个例子就是在失败的回调里面处理UI,失败的回调很多情况下是在子线程的,如果直接处理UI,会导致崩溃,而且这种奔溃发现不了原因。

杀死页面后的延迟操作
项目中的任何removeView或者Controller的操作一定要小心,remove完成之后,该页面的代理方法、该页面的block、该页面的延迟执行的方法都不会执行,因为该页面已经被杀死,这些问题会出现在我们的项目中,要时时刻刻保持警惕,因为一不小心就会导致问题,而且这些问题不容易查出来。

循环依赖
依次循环执行多个model,当前的model产生的结果会影响下一个model的执行,所以,为了方便处理,把当前的model的属性传给下一个,这样作用就会产生相互依赖。类似于,用masonry相对布局,如果循环创建,每个视图又相互依赖,这样,只能每次记录前一个布局,以供当前布局使用。

总结
项目中遇到bug,首先应该冷静处理,分析问题的原因,不应该把问题归结于别人,首先排查自己的问题,找到问题的根源,然后解决问题。不应该摇摆不定,就应该是自己的问题,有些地方处理的不好,有些地方是知识的盲区,有些地方是逻辑出现错误。


有一句话叫做三人行必有我师,其作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!

文章来源于网络,如有侵权,请联系小编删除。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在主线程操作UI 一定要在主线程里执行UI操作,这是一个初级工程师都应该懂得的道理,但是,在实际开发中,我们往往陷...
    水达阅读 4,200评论 1 9
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,793评论 1 32
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,191评论 4 61
  • 就像所有的初恋一样,见到你就像在很久很久的时候遇见你一样,遇见的时候就好像你...
    幻想的艺术家阅读 1,241评论 0 1
  • 今天上午来了一辆7系检查后备箱打不开,检查了保险,线束,针脚,开关都没有问题,而且也没有故障代码,检查锁块功能没有...
    88e94d537f85阅读 864评论 0 0