iOS开发中最经典的问题

在主线程操作UI

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

杀死页面后的延迟操作

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

循环依赖

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

总结

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

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

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,167评论 1 32
  • 说来惭愧,在下芳龄二十,却只打过两份工,还在最近几个月内的事。 寒假闲置在家,无所事事,本想看看书,写...
    书山Hevity阅读 204评论 0 2
  • 这周画的是彩虹梨。 以前没见过这种梨,第一次看到是在庐山上。它大小的跟香梨差不多,只是外表偏紫红色。我画的偏淡没画...
    明日之月阅读 436评论 2 4
  • 今晚朝阳门公社主题活动 活动人群:有海外留学背景的 ,北京户籍或土著, 硕士博士, 相同的成长,相同的求学环境背景...
    丘比特的老姨阅读 222评论 0 0
  • 家长常常告诫孩子:“孩子,你一定要努力,将来超过爸爸妈妈,千万不要像我们一样!”各种期望,各种给孩子苦口婆心...
    宇虎阅读 526评论 4 7