美文网首页
ios 面试常见基础问题回答

ios 面试常见基础问题回答

作者: 帝步凡 | 来源:发表于2018-08-24 11:57 被阅读0次

1.内存优化的方案

1.首选使用ARC环境开发,但是也要注意防止循环引用的产生,避免内存泄漏
2.懒加载,延迟创建对象,需要的时候才创建节省内存消耗
3.复用,单元格的服用,避免过多的创建对象
4.选择正确的是数据结构,不必要的时候不使用可变容器
5.单例模式
6.及时删除缓存信息

2.Xcode工具的使用

在开发过程中遇到类似内存泄漏的问题,我们可以通过Xcode中的Instruments来分析解决问题:
【Xcode】 > 【Open Developer Too】>【 Instruments】
1.Leaks:检测内存泄漏
2.zombies :僵尸对象,指的是对应的内存已经被释放并且不再会使用到,但是你的程序却在某处依然有指向它的引用

3.iOS中的回调机制

1.代理:也叫委托,当某个对象收到多个事件,并要求同一个对象来处理所有事件时。委托机制依赖于某个协议定义的方法来发送消息。
2.通知:当需要多个对象或两个无关对象处理同一个事件时使用。
3.Block:适用于回调只发生一次的简单任务。

4.BAD_ACCESS的错误原因

原因:访问了野指针,比如已经释放的对象的成员变量或者发送消息。
调试:Enaable zombie objects 、设置全局断点

5.解决报错libc++abi.dylib handler threw exception

遇到这种错误,即使用了All Exceptions,也断点到相应的代码了,但是没打印对应的日志。此时我们可以添加如下的代码来打印异常log:

@try{
//可能出现错误的代码片段
} @catch(NSException *exception) {
NSLog(@"exception:%@", exception);
} @finally {

}

本文来自:https://www.jianshu.com/p/a62780d7b490

相关文章

网友评论

      本文标题:ios 面试常见基础问题回答

      本文链接:https://www.haomeiwen.com/subject/plebiftx.html