1.什么是ARC?
ARC是由LLVM编译器和runtime共同协作来为我们实现自动引用计数的管理
2.为什么weak指针指向的对象在废弃之后会被自动置为nil?
当对象被废弃时,dealloc方法的内部实现中,会调用清楚弱引用的方法,在清楚弱引用的方法中会通过hash算法来查找被废弃对象在弱引用表中的位置,来提取他所对应的弱引用指针的一个列表数组,然后进行for循环遍历,把每一个weak指针都置为nil
3.苹果是如何实现AutoreleasePool的?
Autoreleasepool是以栈为结点,以双向链表形式合成的这样一个数据结构
4.什么是循环引用?你遇到过哪些循环引用,是怎样解决的?
NSTimer,中间变量