在iOS开发领域,面试题通常涵盖了许多核心概念和技术,这些知识点是评估开发者技能的重要标准。以下是一些基于题目给出的部分内容的关键知识点: 1. **NSString类的初始化方法**: `+ (id)initWithCString:(const char *)nullTerminatedCString encoding:(NSStringEncoding)encoding` 是NSString的初始化方法之一,用于创建一个新的NSString对象,它根据指定的编码方式从C风格的字符数组创建字符串。此方法是Objective-C的类别方法,意味着可以直接通过类名调用。 2. **static关键字的作用**: - 在函数内部,static变量只被初始化一次,后续调用会保持上一次的值。 - 在模块(全局作用域)内,static全局变量只能被同一模块内的函数访问,不能被其他模块的函数访问。 - 在模块内的static函数也仅限于在声明它的模块内调用,增加了封装性。 - 对于类的成员,static修饰的变量是类变量,每个类实例不单独保存,所有实例共享同一份拷贝。static成员函数不接收隐含的`this`指针,不能访问非static成员,只能访问static成员变量。 3. **线程与进程的区别和联系**: - 进程是资源管理的基本单位,每个进程有独立的内存空间,崩溃不会影响其他进程,相对更健壮。 - 线程是执行单元,线程之间共享进程的内存空间,一个线程的崩溃可能导致整个进程结束,因此多线程程序的健壮性较差。 - 进程切换开销大,适合资源消耗较大的任务;线程切换开销小,适合并发执行轻量级任务,共享数据。 4. **堆与栈的区别**: - 管理:栈由系统自动管理,堆需手动释放,可能导致内存泄漏。 - 大小:栈的大小有限且固定,堆的大小受限于可用虚拟内存,一般较大。 - 碎片:频繁的堆内存分配和释放可能导致内存碎片,而栈不会有这个问题。 - 分配:栈分配静态(局部变量)和动态(alloca函数),堆只进行动态分配。 - 效率:栈的分配和回收效率高,堆分配效率较低。 5. **键-值编码(Key-Value Coding, KVC)和键路径(Key-Value Observing, KVO)**: - KVC是一种间接访问对象属性的技术,通过键来获取或设置对象的属性值,简化了代码,使得动态访问属性成为可能。 - KVO是一种观察者模式的实现,允许对象监听并响应其他对象的属性变化,当指定的键值发生变化时,KVO会通知观察者。 这些知识点是iOS开发者必须掌握的基础,涵盖了内存管理、对象初始化、多线程、数据存储以及面向对象编程的关键概念。在面试中,了解并能熟练运用这些知识点是衡量开发者专业能力的重要指标。
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![xls](https://img-home.csdnimg.cn/images/20210720083658.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)