[小细节,大BUG]记录一些小问题引起的大BUG(长期更新....)
[小细节,大BUG] 6.问题描述:当从Plist文件加载数据,放入到tableView中展示时,有时有数据,有时又没有数据。这是为什么呢?相信很多大牛都想到了:我们一般将加载的数据,转换成模型,放入到数组中去。然后根据数组,动态的进行数据展示。结果错误就在此:对数组的引用使用了weak,所以造成了数据有时丢失的情况。那么有个细节不知道各位有没有注意到,为什么有时有,有时没有呢?这就关系到XCODE对僵尸对象的处理了,详细介绍请看本博客中的《OC内存管理--zombie对象》
[小细节,大BUG] 5.NSRunLoop细节引发的问题:案例说明:当做“图片轮播器”的时候,使用NSTimer *timer = [NSTimer timerWithTimeInterval: invocation:repeates:];进行定时播放,然而有个问题,就是当与其同处界面的tableView被上下拉动时,轮播器停止滚动,而当停止后,轮播器加速滚动,这是什么原因呢?主要原因是因为在timer与tableView同时执行情况,当拖动tableView时,runloop进入UITrackingRunLoopModes模式下,不会处理定时事件,此时timer不能被处理,所以此时将timer加入到NSRunLoopCommonModes模式(addTimer forMode);即[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
[小细节,大BUG] 4.当你使用storyboard添加一个scrollView时,发现在运行时怎么也无法滚动。这时候就我们能考虑到的因素有哪些呢?第一,storyboard,中autolayout是否勾选去掉(可能性最大);第二,scrollEnabled是否设置为yes(可能性小);第三,userInteractionEnabled,是否设置为yes(可能性最小);第四,contentSize未设置(一般都不会忘)
[小细节,大BUG] 3.另外一个有意思的BUG:当在一个视图中添加UIButton时,发现根本无法点击.此时,你会想到怎样解决吗?检查父控件的userInteractionEnabled?检查按钮的enabled?或者其他的?对,我也这么做了,可最后我被这个BUG玩了,最终经过排查,发现其父控件的frame为CGRectZero!!!这又跟IOS事件传递机制与响应者链有关系.这个错误是在事件传递的过程中出现的问题:要知道事件传递是由UIApplication-->UIWindow....一直到最顶层的子控件,找到最合适的控件来响应,而所谓的合适满足两个条件:一,自己是否能够响应? 二,触摸点是否再自己身上.然后针对子控件进行遍历,重复以上两个步骤.相信到这里大家都明白了吧,就是在第二个条件出现了问题.触摸点不在其父控件身上.所以事件根本没有传递到按钮这里来,造成不能响应的BUG.
[小细节,大BUG] 2.在IOS开发中,大部分人都了解了加载UIImage时,使用[ UIImage imageNamed:]和[UIImage imageWithContentOfFile : ]的主要区别,即前者会缓存图片,造成手机内存飙升而出现应用闪退的现象。后者并不缓存图片。然而,当有人去试着将前者改为后者时,造成了程序崩溃?经排查,原因是因为当构造图象地址时,图片名称的大小写问题.imageNamed:对于图片名称的大小写并不敏感,而imageWithContentOfFile:则严格要求路径的大小写正确.
[小细节,大BUG] 1. 在不久前,一个朋友出现了这样一个BUG:当UITableView加载cell的时候,自定义的cell,怎么显示,里面的文字总是显示不完全(注意,文字不长).然后,我帮忙给看了下,甚至把在storyBoard中将cell的相关属性都试了下,虽然可以解决,但是效果不理想.最终经过排查,终于发现问题所在:当自定义cell时,因为需要布局子控件,所以他重写了layoutSubviews方法,然而在此方法中没有调用[super layoutSubviews],所以造成了布局混乱.再次引以为戒.
(为方便查看,进行倒序更新。。。)
[小细节,大BUG]记录一些小问题引起的大BUG(长期更新....)的更多相关文章
- 微信小程序语音识别开发过程记录 微信小程序silk转mp3 silk转wav 以及ffmpeg使用
说说最近在开发微信小程序语音识别遇到的问题吧 最先使用微信小程序录音控件可以拿到silk格式,后来微信官方又支持mp3格式了 但是我们拿到这些格式以后,都还不能直接使用,做语音识别,因为目前百度的语音 ...
- [20171120]bash使用here documents的一个小细节.txt
[20171120]bash使用here documents的一个小细节.txt --//昨天看bash文档,,发现一些小细节,做一个记录,就是EOF加引号的问题. command <<' ...
- 微信小程序bug记录与解决
微信小程序bug记录 textarea textarea在模拟器上没有padding,可是在真机上会自带padding,而且在外部改不了,并且在安卓和IOS上padding还不一样 第一张图是在开发工 ...
- web前端体系-了解前端,深入前端,架构前端,再看前端。大体系-知识-小细节
1.了解前端,深入前端,架构前端,再看前端.大体系-知识-小细节 个人认为:前端发展最终的导向是前端工程化,智能化,模块化,组件化,层次化. 2.面试第一关:理论知识. 2-1.http标准 2-2. ...
- 手摸手教你如何在 Python 编码中做到小细节大优化
手摸手教你如何在 Python 编码中做到小细节大优化 在列表里计数 """ 在列表里计数,使用 Python 原生函数计数要快很多,所以尽量使用原生函数来计算. &qu ...
- ASP.NET MVC 自定义路由中几个需要注意的小细节
本文主要记录在ASP.NET MVC自定义路由时,一个需要注意的参数设置小细节. 举例来说,就是在访问 http://localhost/Home/About/arg1/arg2/arg3 这样的自定 ...
- css小细节罗列
有空时候把一些常见可能不是每个人都知道的css小细节总结了下,共勉. 1.line-height 众多周知,line-height是行高的意思,我们时常会使用类似line-height:24px;这样 ...
- HTML 标签小细节
简书地址:https://www.jianshu.com/p/03a23aa28a34 今天重新学习了一下HTML中标签的用法,补充并记录一下自己新学到的知识. a中的href href Contai ...
- ArrayList中的一些小细节@JDK8
ArrayList中的一些小细节@JDK8 protected transient int modCount = 0; 该变量用于记录ArrayList的版本号,不可被序列化,每次对ArrayList ...
随机推荐
- BZOJ 3110 [Zjoi2013]K大数查询
Description 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c 如果是2 a b c形式,表示询问从第a个位置到第b个位 ...
- Vijos1901 学姐的钱包
描述 学姐每次出门逛街都要带恰好M元钱, 不过她今天却忘记带钱包了.可怜的doc只好自己凑钱给学姐, 但是他口袋里只有一元钱.好在doc的N位朋友们都特别有钱, 他们答应与doc作一些交换.其中第i位 ...
- 浅议SNMP安全、SNMP协议、网络管理学习
相关学习资料 tcp-ip详解卷1:协议.pdf(重点看25章SNMP部分) http://www.rfc-editor.org/rfc/rfc1213.txt http://www.rfc-edit ...
- java连接mysql(一)
import java.sql.*; public class MysqlTest { public static void main(String[] args) throws SQLExcepti ...
- tp 多语言支持
tp支持多语言 通过get来改变语言的 http://localhost/tp/index.php/Admin/User/add/hl/zh-cn http://localhost/tp/index. ...
- JS 瀑布流布局
瀑布流布局 HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...
- web后门排查与高效分析web日志技巧
今年一直大大小小的事情忙,很少有时间能静下心写个文章,所以最近博客更新也越来越少了,公司现在安全团队在我这边,一直在玩命的招人.下个月8号有一个互联网金融的会,4月在qcon北京站,都以嘉宾的身份去分 ...
- mybatis 使用resultMap实现关联数据的查询(association 和collection )
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- [bug]The file ‘/xxx/xxx.aspx’ has not been pre-compiled, and cannot be requested
今天莫名奇妙的出现了这个问题,查找很多资料最后解决了. 发现编译的时候,少了一个dll,导致预编译失败. 参考资料 https://blogs.msdn.microsoft.com/asiatech/ ...
- 字符串数组元素排列与组合的Java递归实现
我们在笔试面试过程中经常会遇到关于排列与组合的问题,其实这些可以通过递归简单的实现,看下面两个例子: (1)关于字符串排列的问题 输入一个字符串,打印出该字符串中字符的所有排列.例如输入字符串ab ...