iOS 面试 | 如果要存储用户的账号密码,你会选择什么方案?
原文中文,约1200字,阅读约需3分钟。
📝
内容提要
KeyChain服务是一种可靠的数据持久化方案,可以保存用户的账号密码,并通过iCloud同步。其他常见的持久化方案包括NSUserDefault、MMKV、NSKeyedArchiver、Sqlite、CoreData、FMDB、Realm和WCDB。每种方案都有不同的特点和适用场景。
❓
Q&A
为什么选择KeyChain服务来存储用户账号密码?
因为KeyChain服务能够安全存储敏感数据,删除App后数据仍然保留,并支持iCloud同步。
NSUserDefault适合存储什么类型的数据?
NSUserDefault适合存储不敏感的App配置信息和用户偏好设置。
MMKV与NSUserDefault有什么区别?
MMKV是NSUserDefault的增强版,适合读写频繁且不敏感的数据,使用内存映射技术,数据安全性更高。
CoreData的学习成本高吗?
是的,CoreData的学习成本高,并且功能较差,不建议使用。
FMDB适合存储什么类型的数据?
FMDB适合存储较大数据量的数据,并且是线程安全的。
WCDB有什么特别之处?
WCDB是微信封装的Sqlite,优化了性能,使用成本低,推荐使用。
🏷️