前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS面试知识总结之问题解决

iOS面试知识总结之问题解决

作者头像
梧雨北辰
发布2018-04-24 14:53:31
5700
发布2018-04-24 14:53:31
举报

凡经历过iOS面试的我们总会发觉,即使实际开发中做过许多项目,也难免为一个普通的面试题受挫。这也许不是因为我们技术不过关,而是因为在平时我们忽略了怎样将用到的知识很好的表述出来。闲暇之余我把一些常见的iOS面试问题总结一下,即使不是为了面试,也有助于对基础知识的回顾。 此篇总结在iOS面试中可能会被问到的有关Bug解决或者功能实现思路等方面的问题:

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:

代码语言:javascript
复制
@try{  
      //可能出现错误的代码片段
    }  @catch(NSException *exception) {  
          NSLog(@"exception:%@", exception);  
    }  @finally {     
   
  }  
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.02.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.内存优化的方案
  • 2.Xcode工具的使用
  • 3.iOS中的回调机制
  • 4.BAD_ACCESS的错误原因
  • 5.解决报错libc++abi.dylib handler threw exception
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档