Objective-C & iOS面试知识点概览

2星 需积分: 17 137 下载量 22 浏览量 更新于2024-09-19 收藏 380KB PDF 举报
"Objective-c&IOS面试题" 这篇资源主要涉及的是Objective-C和iOS开发相关的面试知识点,适合准备iPhone开发工作的求职者。内容包括Objective-C的基础概念、语法特性以及iOS开发的一些核心概念。 首先,Objective-C是苹果公司开发的一种面向对象的编程语言,它是C语言的超集,增加了Smalltalk风格的消息传递机制。面试中可能会涉及到Objective-C的入门知识,如`Objective-C Beginner's Guide`中提到的下载教程和设置环境。 1. **下载教学**: 提供了一个链接到Objective-C初学者指南,这个指南包含了Objective-C的多个方面,对于初学者来说是一个很好的学习资源。 2. **设置环境**: 对于非Mac OS系统的开发者,如Linux或FreeBSD用户,需要安装GNUStep来模拟Objective-C的开发环境。这通常涉及运行`GNUstep.sh`脚本,其路径可能因系统配置而异。 接着,文章提到了Objective-C的关键语法元素: 3. **接口@interface** 和 **实现@implementation**: 这是Objective-C中定义类的基本结构。`@interface`声明了类的公共属性和方法,而`@implementation`则包含具体的实现代码。 4. **构造器(Constructors)**: Objective-C中的构造器通常指`init`方法,用于初始化新创建的对象。 5. **存取权限(Class-level access)**: 包括`public`(默认)、`private`、`protected`等, Objective-C使用关键字`@public`、`@private`和`@protected`来控制成员变量和方法的访问级别。 6. **异常处理(Exceptions)**: Objective-C支持异常处理,通过`@try`、`@catch`、`@throw`和`@finally`来捕获和处理运行时错误。 7. **继承(Inheritance)** 和 **多态(Polymorphism)**: Objective-C支持单一继承,通过`@interface`声明父类,并通过`@implementation`继承父类的方法和属性。多态则是通过子类覆盖父类方法实现的。 8. **id类型**: `id`是Objective-C中的一个特殊类型,可以代表任何对象,体现了动态类型特性。 9. **动态类型(Dynamic types)**: Objective-C允许在运行时确定对象的实际类型,这是通过消息传递机制实现的。 10. **类别(Categories)**: Objective-C的类别机制允许给已有的类添加新的方法,不改变原有的类文件。 11. **伪装(Posing)**: 通过类别可以实现伪装,让一个对象表现得像另一个类的对象。 12. **协议(Protocols)**: 类似Java或C#的接口,定义了一组必须或可选的方法,对象可以遵循这些协议来实现特定的行为。 13. **内存管理**: Objective-C使用引用计数(Retain and Release)进行内存管理,`retain`增加对象的引用计数,`release`减少引用计数,当计数为0时,对象会被自动释放。此外,还有`dealloc`方法用于清理对象资源,以及`autorelease pool`用于自动释放不再使用的对象。 14. **Foundation Framework Classes**: 基础框架中的核心类,如`NSArray`和`NSDictionary`,它们分别用于存储有序和无序的可变或不可变对象集合。 最后,面试中可能会讨论Objective-C和iOS开发的优缺点,以及如何获取更多信息和深入学习的建议。 这份资源涵盖了Objective-C语言基础、面向对象特性、内存管理以及iOS开发中的一些关键概念,对于准备iOS面试的人来说是一份非常实用的学习材料。