一个区分度很大的面试题
考察一个面试者基础咋样,基本上问一个 @property 就够了:
- @property 后面可以有哪些修饰符?
- 什么情况使用 weak 关键字,相比 assign 有什么不同?
- 怎么用 copy 关键字?
- 这个写法会出什么问题: @property (copy) NSMutableArray *array;
- 如何让自己的类用 copy 修饰符?如何重写带 copy 关键字的 setter?
这一套问题区分度比较大,如果上面的问题都能回答正确,可以延伸问更深入点的:
- @property 的本质是什么?ivar、getter、setter 是如何生成并添加到这个类中的
- @protocol 和 category 中如何使用 @property
- runtime 如何实现 weak 属性
每个人擅长的领域不一样,我们一般会从简历上找自己写擅长的技术聊,假如自己并不是很熟,最好别写出来或扯出来,万一面试官刚好非常精通这里就露馅了。