- 2
- 0
- 约6.12千字
- 约 8页
- 2026-10-13 发布于河北
- 举报
iOS技术面试高频题及详细答案(真实职场版)
一、Swift基础语法核心面试题
1.Swift中struct和class的核心区别?日常开发如何选型?
详细答案:
核心区别主要有五点:
1.存储方式不同:struct是值类型,存储在栈区;class是引用类型,存储在堆区,栈区仅存储对象地址。
2.赋值逻辑不同:值类型赋值、传参时会完整拷贝一份数据,新旧对象互不影响;引用类型赋值、传参仅拷贝内存地址,多个变量指向同一个对象,修改会互相影响。
3.继承特性不同:struct不支持继承,无法创建子类;class支持单继承,可层层派生。
4.构造器规则不同:struct默认自带成员逐一构造器,无需手动编写;class无默认构造器,自定义构造器后会覆盖默认构造器,需手动指定。
5.析构方法不同:struct没有deinit析构方法;class拥有deinit,可在对象销毁前释放资源。
开发选型原则:
优先用struct:纯数据模型、枚举、配置类、轻量数据结构(如用户信息、列表数据),无复杂业务逻辑,追求低内存开销、线程安全。
优先用class:需要继承、需要统一资源管理、存在生命周期、需要引用传参共享数据的场景(如页面控制器、网络请求管理器、单例工具类)。
2.Swift中let和const、staticlet的区别?
详细
原创力文档

文档评论(0)