6.AUserDefaults 使用指南
大家好,我是K哥。一名獨(dú)立開(kāi)發(fā)者,同時(shí)也是Swift開(kāi)發(fā)框架【Aquarius】的作者,悅記和愛(ài)尋車(chē)app的開(kāi)發(fā)者。
Aquarius開(kāi)發(fā)框架旨在幫助獨(dú)立開(kāi)發(fā)者和中小型團(tuán)隊(duì),完成iOS App的快速實(shí)現(xiàn)與迭代。使用框架開(kāi)發(fā)將給你帶來(lái)簡(jiǎn)單、高效、易維護(hù)的編程體驗(yàn)。
本文將詳細(xì)介紹 AUserDefaults 的使用方式,幫助開(kāi)發(fā)者更高效地進(jìn)行本地?cái)?shù)據(jù)存儲(chǔ)
核心功能說(shuō)明
AUserDefaults 是對(duì)系統(tǒng) UserDefaults 的封裝,提供更簡(jiǎn)潔的 API 接口。支持三種核心操作:
- 設(shè)置值:使用
forKey+setValue組合 - 獲取值:直接調(diào)用類型轉(zhuǎn)換方法(如 getStringValue)
- 分組存儲(chǔ):通過(guò) appGroups 參數(shù)實(shí)現(xiàn)多應(yīng)用數(shù)據(jù)共享
使用方式
初始化單例
// 使用默認(rèn)分組
let userDefaults = AUserDefaults.shared
// 自定義分組(適用于多應(yīng)用共享數(shù)據(jù))
AUserDefaults.shared(appGroups: "group.com.example.shared")
設(shè)置數(shù)據(jù)
// 設(shè)置整數(shù)
userDefaults.forKey("userAge")
userDefaults.setValue(25)
// 設(shè)置字符串
userDefaults.forKey("userName")
userDefaults.setValue("張三")
獲取數(shù)據(jù)
// 獲取基礎(chǔ)類型
let age = userDefaults.getIntValue("userAge") // 返回 Int
let name = userDefaults.getStringValue("userName") // 返回 String
// 獲取復(fù)雜類型
if let savedArray = userDefaults.getArrayValue("history") as? [String] {
print(savedArray)
}
注意事項(xiàng)
- 類型安全:類型轉(zhuǎn)換方法(如 getBoolValue)若數(shù)據(jù)類型不匹配會(huì)直接崩潰
- 分組設(shè)置:appGroups 參數(shù)需在應(yīng)用注冊(cè)時(shí)預(yù)先配置
- 數(shù)據(jù)持久化:修改后需主動(dòng)調(diào)用
userDefaults.synchronize()確保數(shù)據(jù)寫(xiě)入
總結(jié)
AUserDefaults 通過(guò)封裝簡(jiǎn)化了本地存儲(chǔ)操作,特別適合:
- 需要頻繁設(shè)置/獲取基礎(chǔ)類型數(shù)據(jù)的場(chǎng)景
- 跨應(yīng)用數(shù)據(jù)共享需求
- 需要類型安全的開(kāi)發(fā)場(chǎng)景
立即體驗(yàn)Aquarius:
第一步:探索資源
- ? Star & Fork 框架源碼: GitHub - JZXStudio/Aquarius - 支持項(xiàng)目發(fā)展
- ? Star & Fork 框架文檔: ZRead - JZXStudio/Aquarius - 項(xiàng)目介紹文檔,深入了解框架
- ? Star & Fork 悅記源碼: GitHub - JZXStudio/yuenote - 完整案例,深入了解框架使用方式
第二步:體驗(yàn)效果
- ?? 下載示例APP: 悅記 | 愛(ài)尋車(chē) - 感受真實(shí)項(xiàng)目中的流暢體驗(yàn)
第三步:溝通交流
- ?? 提交Issue: GitHub Issues - 反饋問(wèn)題或建議
- ?? 聯(lián)系與反饋: studio_jzx@163.com - 直接交流開(kāi)發(fā)心得

浙公網(wǎng)安備 33010602011771號(hào)