ps:自己平时学习的时候遇到的一些小bug,初学,共勉。
一、问题:注销与登录按钮不能实现切换
原因:1、设置bool值时yes和no没有正确
二、问题:豆瓣:电影界面点击进入详情界面正常,再返回之后再点击crash,或者是返回就crash
原因:内存问题,实例变量被过度释放
三、问题:使用FMDB数据库存储总是提示表已经建立
原因:查询到每次打开数据库创建的表都在不同位置
解决办法:再打开数据库的方法中添加一次判断
四、问题:使用侧滑删除时,界面显示已经删除,但是再打开时还是有。
原因:数据库中没有真正删除
五、问题:报错如下:
解决办法:在删除时,先删除数据,再删除UI界面,把数组里面的该行元素要先删除
六、问题:使用NSUserDefaults时,存储解析后的数组,已经将其改为不可变数组,但是还是直接报错
原因:存储的是自定义的对象,需要将其转换成NSData
七、问题:在执行子线程时,打印出现的警告
原因:可以通过方法测试当前线程是否为子线程
NSLog(@"%d", [NSThreadisMainThread]);
或者通过NSLog(@“%@", [NSThreadcurrentThread]);方法测试,可知道当前的线程并非主线程,而你正试图在子线程中打印主线程的
解决方法:回到主线程
八、问题:1、在滑动tableView的同时发现timer对应的事件不执行
2、在子线程中开启了一个子线程进行下载等任务,发现下载任务不执行
解决方法:runloop
九、问题:数组添加不进去
原因:数组没有初始化
十、问题:cell没有显示
原因:初始化方法是否正确
十一、问题:进行网络请求得到数组后想将其传值,结果失败
解决方法:传值时直接得到数据后赋值,不要在viewdidload方法里面赋值
十一、问题:全局变量重名,文件名命名重名,会报错:linker command failed with exit code 1 (use -v to see invocation)
十二、问题:使用UISegmentControl的时候,添加方法addTarget:action时,target容易将本来self结果添加为自己定义的UISegmentControl对象,此时程序在进入界面无影响,点击就会crash
十三、问题:创建model类的时候注意是否有不是字符串的类型
十四、sizeTofit需要使用的时候俩个方法都要写,一个layoutsubviews,一个是在传值进来的model类的setter方法
十四、collectionView不能滑动:
self.collectionView.alwaysBounceVertical=YES;self.collectionView.userInteractionEnabled=YES; //默认是yes
最后、imageView和label的交互是关闭的,如果你需要将collection view放傻瓜你去,记得打开用户交互
十五、使用UIPickerView时,如果是添加到了textField的inputview上,那么不需要再添加[self.view addsubviews:pickerView];这个方法了,否则会报错:
reason: 'child view controller: should have parent view controller: but requested parent is:'
十六、问题:使用纯代码时,不走cellforRow方法
原因:1、给定的数组或者其他数据源没值
2、初始化错误
......
十七、问题:使用storyboard或者xib创建tableView并是通过storyboard来设置代理和数据源时,datasource和其他代理方法都有,唯独did select方法不走
解决方法:选择tableview,将selection默认的no改成singleselection
十八
、问题:在上传自己的项目时,总是不能识别账户,x-code已经绑定了的,后来换了一种方法结果还是报同样的错误,目前尚未解决
十九、在实现视频播放的时候,需要注意视频控制器的作用域以及视频控制器的view的frame,视频控制器一般是最好用作属性,避免出现作用域的问题,frame一般是屏幕的大小,当然也可以自己设定
二十,在使用github在sourceTree的时候,上传的时候最好是备份副本,避免source tree在报黄后打不开原来的工程,如果实现是打不开的话,找到你的工程,右键点击xode文件,选择显示包内容,选择project.pbxproj文件,双击,看到一堆代码.此时command + F全局查找<<<<或者>>>>,找到之后将其删除就ok
二十一、问题:如果是使用tableView的时候,想要点击cell实习出现view,结果在多次点击的时候view出现多重阴影
解决方法:在点击的时候进行一次判断,在view == nil的时候创建就行了