Objective-C 基础面试题及详细答案(实战版).docxVIP

  • 1
  • 0
  • 约4.18千字
  • 约 6页
  • 2026-10-13 发布于河北
  • 举报

Objective-C 基础面试题及详细答案(实战版).docx

Objective-C基础面试题及详细答案(实战版)

一、基础语法与核心特性

1.简述Objective-C的特点,对比C语言有哪些区别?

参考答案:

Objective-C是在C语言基础上扩展的面向对象编程语言,完全兼容标准C语法,保留了C的所有基础特性。

和C语言核心区别有三点:

1.编程思想不同:C是面向过程,注重步骤和流程;OC是面向对象,以类、对象、消息传递为核心,代码复用性、扩展性更强。

2.语法特性不同:OC新增了类、继承、多态、分类、协议、属性等面向对象特性,支持动态绑定、动态类型,编译和运行时有更强的灵活性。

3.内存管理不同:C依赖开发者手动malloc、free管理内存;OC有成熟的引用计数内存管理机制,支持MRC、ARC两种模式,大幅降低内存泄漏风险。

2.讲解OC中消息机制的原理,和函数调用有什么区别?

参考答案:

OC所有的方法调用本质都是消息发送,这是OC最核心的特性。调用[objmethod]时,并不是直接执行函数,而是编译器转化为objc_msgSend函数,给对象发送一条消息。

消息执行流程:

1.编译器将方法调用转为objc_msgSend(receiver,selector,参数);

2.从对象的isa指针找到所属类,遍历方法缓存、方法列表查找对应S

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档