- 2
- 0
- 约5.17千字
- 约 8页
- 2026-10-12 发布于河北
- 举报
iOS开发高频面试题及详细解析(知乎干货版)
适用人群:初中级iOS开发工程师、跳槽面试、校招进阶
内容说明:精选一线互联网公司高频真题,涵盖Swift基础、OC与Swift混编、内存管理、RunLoop、多线程、UI渲染、性能优化、项目实战、底层原理,答案贴合面试口语作答逻辑,拒绝书面套话。
一、Swift基础核心面试题(必问)
1.Swift中struct和class的核心区别?开发中如何选择使用?
详细答案:
核心区别主要体现在存储机制、继承特性、内存管理三个核心维度:
1.存储与赋值机制不同:struct是值类型,存储在栈区,赋值、传参时会完全拷贝一份新数据,新旧对象相互独立;class是引用类型,存储在堆区,赋值仅传递内存地址,多个对象指向同一块内存,修改会相互影响。
2.继承特性不同:结构体不支持继承,无法创建子类;类支持单继承,可重写方法、属性,支持多态。
3.内存管理不同:结构体无需手动管理内存,栈内存自动释放;类依赖ARC自动引用计数管理内存,存在循环引用风险。
4.构造器规则不同:结构体默认提供逐一成员构造器;类默认无空构造器,需手动实现。
使用选择原则:单纯的数据模型、静态数据、无需继承的场景优先用struct,比如普通数据模型、枚举配置;需要复用逻辑、继承扩展、共享实例的场景用class,比如页面控制器、工具类、业务管理器。
2.
原创力文档

文档评论(0)