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