gpt4 book ai didi

ios - 用户默认值在 Swift 3.0 中给出 nil 值

转载 作者:搜寻专家 更新时间:2023-11-01 06:03:24 26 4
gpt4 key购买 nike

我是 swift 的新手,正在尝试将 NSMutableArray 存储在 Userdefaults 中。这是我正在做的事情:

//to save aaray in user defaults
var set:NSMutableArray = NSMutableArray(objects: self.listId)
self.saveListIdArray(set)

func saveListIdArray(_ params: NSMutableArray = []) {
let defaults = UserDefaults.standard
defaults.set(params, forKey: "ArrayKey")
defaults.synchronize()

//to get array from user default
func getUserDefaultKeyForAllObject(key userDefaultsKey: String) -> NSMutableArray {
let array = UserDefaults.standard.object(forKey: NSUserDefaultsKey.LIST_ID_ARRAY) as! NSMutableArray
print(array)
return array

应用程序因“ fatal error :在展开可选值时意外发现 nil”异常而崩溃。

忽略我问问题的方式,在这里帮助我。

谢谢。

最佳答案

尝试转换为 NSData 然后存储到 nsuserdefaults 如下所示

func saveListIdArray(_ params: NSMutableArray = []) {
let data = NSKeyedArchiver.archivedData(withRootObject: params)

UserDefaults.standard.set(data, forKey: "test")
UserDefaults.standard.synchronize()
}

用于检索数据使用

if let data = UserDefaults.standard.object(forKey: "test") as? Data {
if let storedData = NSKeyedUnarchiver.unarchiveObject(with: data) as? NSMutableArray
{
// In here you can access your array
}
}

关于ios - 用户默认值在 Swift 3.0 中给出 nil 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43934817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com