wby : cocacola-ty.github.io
出现Duplicate Symbol链接错
- 可能该文件被引入两次,Targets的Build Phase设置项里,查看Complie Sources这一项,看看出现问题的类是不是有重复的,用文件名过滤也比较容易发现。这种问题一般也是多人协作开发时,project文件冲突导致的。发现这种问题,只要删除就可以了。不过有可能删除其中一个文件时,重复文件会自动全部删除,所以还需要单独添加一下。
- 出现问题的类是不是import .m文件
- 是不是第三方库中有文件和该类同名
webview进入didFailLoadWithError
error.code == -999
一个页面没有被完全加载之前收到下一个请求
可以直接return该错误尝试解决
translatesAutoresizingMaskIntoConstraints
缺少约束,约束冲突
少设置frame
出现访问僵尸对象问题
- 查看dealloc方法是否进行提前释放
- 查看dealloc方法调用时间
images.xcassests
- 只支持png格式图片
- images.xcassets中图片只能有 imagenamed:方法调取
通过在view上添加一个layer来实现动画,出现动画不还原
- 确保添加的是一个layer,不要重复一直添加layer,会覆盖。通过懒加载解决
多线程会导致的问题
- 开启子线程引起的内存开销,默认主线程1M,子线程512k
- 多线程之间由于网络请求时间差引发的问题
加载xib时报错
libc++abi.dylib:terminate_handler unexpectedly threw an exception
NSScanner: nil string argument
检查约束是否有冲突约束
检查是否有失效的连线!! .m/.h 中已经删掉连线出来的控件,但是xib中未删除关联!!
下载图片时线程阻塞
dataWithContentsOfURL方法是同步方法,当图片较大或网络较差时 该方法阻塞后面其他代码会无法执行
调试时po不打印对象信息
将项目的scheme 改为Debug,release模式下不现实参数值
删除MainStoryBoard之后的报错
MainStoryBoard删除之后要同时需要在info.plist中删除Main StoryBoard Base File Name 这一行
并且在didFinishLaunching中新建一个window,否则系统是没有window的。
控制器的present和push
如果当前控制器是present出来的,从当前控制器继续向下跳转时不要用push,因为它会从当前控制器的上一个控制器去push。
一个控制器中多个collectionView时,有的collectionView不显示Cell
collectionview里面是scrollview,他有偏移,偏移出了collectionView导致他的cell方法不调用。只要设置控制器不自动偏移即可。
self.automacticallyAdjustsScrollViewInsets = NO
tableView运行崩溃,提示:_configureCellForDisplay:forIndexPath
检查是否设置重用标识符
检查获取的cell是否为nil
.h文件中报错 unterminated conditional directive
- 此报错原因是因为条件编译缺少结束
- 检查是否缺少#ifdef 是否缺少 #endif
控制台输出:Class PLBuildVersion is implemented in both frameworks
当工程中使用到了PhotoKit,当运行时,可能会在控制台出现该提示。因为PLBuildVersion在PhotoKit和Assert
关于storyboard中tableview点击cell不走segue的问题
如果直接拉出来一个tableviewcontroller上面的cell是默认提供的,该cell的重用标识符为空,当从cell连线到下一个控制器时是该标识符为空的cell跳转到下一个控制器。并不是我们创建的cell。所以当运行时点击我们创建的cell不会跳转。
解决方法,设置默认的cell的标识符
将nil格式为字符串
如果将nil对象格式化成字符串会转换成 (null)
NSString *str = [NSString stringWithFormat:@"%@",nil];