云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > iOS开发方面的一些面试题 - 图文

iOS开发方面的一些面试题 - 图文

  • 62 次阅读
  • 3 次下载
  • 2026/4/26 16:45:43

前言

今天某某提供的一份面试题,郑州iOS培训看了看,还是整理一下,分享给大家吧。对于新手、刚出来找工作的或者准备要面临找工作的小伙伴们来说,笔者所提供的参考答案一定会有帮助的。

题照

1、#import和#include的区别,@class代表什么?

参考答案:

这里老生常谈的问题了!#import和#include指令都是用于包含头文件的,前者是保证只会包含一次,不会重复包含;后者是c语言中原来就有的包含头文件的指令,在objc开发中,若是c文件,一件会使用#include指令来包含头文件,为了防止重复包含,通常会加上条件编译,如:

// 随手写的例子

// 若已经定义过则不再定义之,这是防止重复包含的手段 1

2 #ifndef __HYB__GRIDVIEWCONTROLLER__ 3 4 5 6 7

8 #define kScreenWidth ... 9

#endif

@class是类前向声明的指令,相当于告诉编译器有这样一个类,但是类的定义在后面提供。在编译时期,编译器看到@class指令声明了对应的类型,是可以正常编译过的。这是很常用的指令,主要是防止循环引用。

如果有循环依赖关系,如:A–>B, B–>A这样的相互依赖关系,如果使用#import来相互包含,那么就会出现编译错误,如果使用@class在两个类的头文件中相互声明,则不会有编译错误出现。

2、谈谈Objective-C的内存管理方式及过程

参考答案:

对于Objective-C,在MRC下内存是手动管理的,而在ARC下,我们不用手动去添加retain/release,但是其内存管理法则是一样的。

内存管理黄金法则:谁使对象的引用计数+1,谁就负责管理使该对象的引用计数-1。 说说内存管理的过程:

在MRC下,对于需要手动释放的对象的内存管理,我们通过release使对象引用计数-1,若其引用计数变成0,则对象会被立刻释放掉。对于autorelease交给自动释放池管理的对象,每个runloop循环结束就会去自动释放池中使所有autorelease类型对象的引用计数减一,若变成0,则释放之。

在ARC下,我们没有不能直接调用retain/release来管理释放,都是交给自动释放池来管理的。因此,若创建临时变量,想要使用完就释放之,需要在临时变量放到新创建的自动释放池里,这样就可以使用完后就到达了自动释放池的一个循环,就会去使对象引用计数减一,变成0后释放之。

最后:对于交给自动释放池管理的对象,是在每个run loop事件循环结束时才会去使对象引用计数减一,此时引用计数为0的才会得到释放。

3、Objective-C有私有方法吗?私有变量呢?

参考答案:

在Objective-C中,没有实实存在的私有方法。通常所谓的私有方法就是放在.m文件中声明和实现,外部不能直接看到而已,但是若我们知道有这么一个API,我们是可以调用的。比如,在苹果上架会因为使用了苹果的所谓的私有API而被拒,而这个所谓的私有API就是指苹果没有公司出来,但是我们通过其它方式可以看到苹果的内部有这样一个API可以实现某些不公开的功能。

私有变量是有的,可以通过@private来声明私有变量。比如:

1 2 3 4 5

@interface HYBTestModel: NSObject {

@private NSString *_privateName; }

搜索更多关于: iOS开发方面的一些面试题 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

前言 今天某某提供的一份面试题,郑州iOS培训看了看,还是整理一下,分享给大家吧。对于新手、刚出来找工作的或者准备要面临找工作的小伙伴们来说,笔者所提供的参考答案一定会有帮助的。 题照 1、#import和#include的区别,@class代表什么? 参考答案: 这里老生常谈的问题了!#import和#include指令都是用于包含头文件的,前者是保证只会包含一次,不会重复包含;后者是c语言中原来就有的包含头文件的指令,在objc开发中,若是c文件,一件会使用#include指令来包含头文件,为了防止重复包含,通常会加上条件编译,如: // 随手写的例子 // 若已经定义过则不再定义之,这是防止重复包含的

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com