有时候加载数据的时候,后台正常返回了,安卓正常显示了,可是无论是加载更多还是访问数据,就是加载不了那么多。这时候就要考虑是不是JSON中有哪些是iOS不支持的特殊标记或者字符了,别再苦苦找代码逻辑,语法错误了,特别是那种原来没问题,现在有问题的。不要管别人是否暗示你,咋我设备就行,你咋显示不了,是不是你技术不行。明确告诉他,不是,可能是数据的问题。
有时候你需要保存一个数据,例如时间,你需要在启动的时候就保存一下时间,然后每次启动都在和这个时间做比较,可是怎么能让你保存的时间不被系统启动时不断的刷新呢?你今天启动加进去个时间key是firstDate,那你下次系统还在执行这个逻辑,又重新的保存了一个时间,所以,你的程序永远不会执行那段代码,因为你始终在使用新时间和当前时间在做对比,它们的差值,始终是一个系统运行速度的差值。这时你就想怎么才能做到,让系统只存第一次,以后再进去我就不存了。如何实现呢?想都能想到。可是办法是什么呢?一个门要让他判断这个人是谁才是否让进,还不如这个屋子只容一个人。对不对,我不管你是谁,你既然能找到这个门了,说明你来对了,但是你来错时间了,里边有人了;也可能来对了,因为里边没人,那你就是我需要的那个时间又对,值也对的人,也就是我们需要的这种了。所以,先做一个判断,我进来前先问一下,里边有值没?有,我就不再赋新值,没有,我就把值赋进去。
最后是对象唯一的问题,先描述问题。我在一个页面写了一个类的实例化,他有一个标示符,我又在另一个页面写了这个类的实例,虽然也拥有同一个标示符,但是这个后创建的实例类却没有内容。大神说,你虽然创建了,但是这个对象和上一个对象,是两个了。以后要记住,两个地方用到同一个类,千万记得,要用属性的方式去获取,获取这个类里的内容,而不是用创建的方式,只要创建,就记得是克隆,也不是克隆,因为里边东西没有。有三间房,三个窗户,一个已经装修了,你又买了一个楼盘的楼房,也是三间房,三个窗户,这个跟那个一样,但是这个没装修。俩不一样,千万记住了。但是这里的精髓,我整不懂,慢慢来,起码这个简单问题整死过我不止三次了,前两次是坑在林经纬那帮我解决的,这次是同事帮解决的。
项目会需要添加一个手势来做单独的操作,同时控制器有本身的点击事件。举个例子,项目需要加退出键盘,又要有点击cell跳转;系统没法确认你点击cell的时候是想退出键盘还是想跳转,所以这时要改变其中一个,可以给键盘退出事件改成滑动,tableview中有 - (void)scrollViewDidScroll:(UIScrollView *)scrollView;方法,这个方法就可以做退出键盘的响应。当然,如果你项目中要是有涉及到cell滑动时的tableview本身事件响应的话,你要小心使用。不过项目中使用加载更多和下拉刷新功能,暂时还没有与退出键盘事件冲突。
当然,也是对找bug有一点提示作用,不要一跳转就以为逻辑错了,可以看一下,长按是不是能跳转,长按是解决手势冲突的最好办法。