厦门IOS培训
达内厦门iOS培训中心

0592-5903858

热门课程

哪些是iOS开发面试常见题型?

  • 时间:2015-09-09
  • 发布:厦门达内
  • 来源:达内培训


1. 自 动释放池是什么,如何工作   当您向一个对象发送一个autorelease消息时,Cocoa就会将该对象的一个引用放入到最新的自动释放池。它仍然 是个正当的对象,因此自动释放池定义的作用域内的其它对象可以向它发送消息。当程序执行到作用域结束的位置时,自动释放池就会被释放,池中的所有对象也就 被释放。

2. ojc- c是通过一种"referringcounting"(引用计数)的方式来管理内存的, 对象在开始分配内存(alloc)的时候引用计数为一,以后每 当碰到有copy,retain的时候引用计数都会加一, 每当碰到release和autoreleaseFoundation和 Application Kit 框架中的一些类只允许创建单件对象,即这些类在当前进程中的唯一实例。举例来说,NSFileManager和 NSWorkspace 类在使用时都是基于进程进行单件对象的实例化。当向这些类请求实例的时候,它们会向您传递单一实例的一个引用,如果该实例还不存 在,则首先进行实例的分配和初始化。单件对象充当控制中心的角色,负责指引或协调类的各种服务。如果类在概念上只有一个实例(比 如 NSWorkspace),就应该产生一个单件实例,而不是多个实例;如果将来某一天可能有多个实例,您可 以使用单件实例机制,而不是工厂方法或函 数。

2.. 动态绑定—在运行时确定要调用的方法  动态绑定将调用方法的确定也推迟到运行时。在编译时,方法的调用并不和代码绑定在一起,只有在消实发送出来之后, 才确定被调用的代码。通过动态类型和动态绑定技术,您的代码每次执行都可以得到不同的结果。运行时因子负责确定消息的接收者和被调用的方法。运行时的消息 分发机制为动态绑定提供支持。当您向一个动态类型确定了的对象发送消息时,运行环境系统会通过接收者的isa指针定位对象的类,并以此为起点确定被调用的 方法,方法和消息是动态绑定的。而且,您不必在Objective-C 代码中做任何工作,就可以自动获取动态绑定的好处。您在每次发送消息时,
 特别是当消息的接收者是动态类型已经确定的对象时,动态绑定就会例行而透明地发生。

3..obj-c的优缺点  objc优点:
   1)Cateogies  
   2) Posing  
   3) 动态识别
   4) 指标计算
   5)弹性讯息传递
   6) 不是一个过度复杂的 C 衍生语言  
   7) Objective-C 与 C++ 可混合编程  
 缺点:  
    1) 不支援命名空間
    2)  不支持运算符重载
    3)不支持多重继承
    4)使用动态运行时类型,所有的方法都是函数调用,所以很多编译时优化方法都用不到。(如内联函数等),性能低劣。

4. readwrite,readonly,assign,retain,copy,nonatomic 属 性的作用?  @property是一个属性访问声明,扩号内支持以下几个属 性: 1,getter=getterName,setter=setterName,设置setter与 getter的方法 名 2,readwrite,readonly,设置可供访问级别 2,assign,setter方法直接赋值,不进行任何retain操作,为了解决 原类型与环循引用问题 3,retain,setter方法对参数进行release旧值再retain新值,所 有 实现都是这个顺序(CC上有相关资料) 4,copy,setter方法进行Copy操作,与retain处理流程一样,先旧值release, 再 Copy出新的对象,retainCount为1。这是为了减少对上下文的依赖而引入的机制。 5,nonatomic,非原子性访问,不加同步,多 线程并发访问会提高性能。注意,如果不加此属性,则默认是两个访问方法都为原子型事务访问。

上一篇:iOS面试基础题型解析
下一篇:超全!iOS 面试题1-5

超全!iOS 面试题1-5

看世界著名互联网公司的古怪面试题

ios面试必问的5个问题

十大iOS面试试题解答

选择城市和中心
贵州省

广西省

海南省