- 3
- 0
- 约 10页
- 2017-01-08 发布于辽宁
- 举报
iOS开发方面的一些面试题分析
前言
今天某某提供的一份面试题,郑州iOS培训看了看,还是整理一下,分享给大家吧。对于新手、刚出来找工作的或者准备要面临找工作的小伙伴们来说,笔者所提供的参考答案一定会有帮助的。
题照
1、#import和#include的区别,@class代表什么?
参考答案:
这里老生常谈的问题了!#import和#include指令都是用于包含头文件的,前者是保证只会包含一次,不会重复包含;后者是c语言中原来就有的包含头文件的指令,在objc开发中,若是c文件,一件会使用#include指令来包含头文件,为了防止重复包含,通常会加上条件编译,如:
?
1
2
3
4
5
6
7
8
9
?
// 随手写的例子
// 若已经定义过则不再定义之,这是防止重复包含的手段
#ifndef __HYB__GRIDVIEWCONTROLLER__
?
#define kScreenWidth ...
?
#endif
?
@class是类前向声明的指令,相当于告诉编译器有这样一个类,但是类的定义在后面提供。在编译时期,编译器看到@class指令声明了对应的类型,是可以正常编译过的。这是很常用的指令,主要是防止循环引用。
如果有循环依赖关系,如:A–B, B–A这样的相互依赖关系,如果使用#import来相互包含,那么就会
原创力文档

文档评论(0)