UIKitiOS面试题iOS Developer

IOS总结(六)

2016-09-17  本文已影响69人  梦醒繁华

1.category和extension的区别

  • category:分类有名字,类扩展没有分类名字,是一种特殊的分类

2.define和const常量有什么区别?

  • define在预处理阶段进行替换,const常量在编译阶段使用

3.block和weak修饰符的区别?

  • __block不管是ARC还是MRC模式下都可以使用,可以修饰对象,也可以修饰基本数据类型

4.static关键字的左右

  • 函数(方法)体内static变量的作用范围为该函数体,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值

5.堆和栈的区别

  • 从管理方式来讲
 - 对于栈来讲,是由编译器自动管理,无需我们手工控制;
 - 对于堆来说,释放工作由程序员控制,容易产生内存泄漏(memory leak)

6.ARC下还会存在内存泄漏吗?

  • 循环引用会导致内存泄漏

7.什么情况使用weak关键字,相比assign有什么不同?

上一篇 下一篇

猜你喜欢

热点阅读