gpt4 book ai didi

swift - 为什么我保存的用户数据无法快速正确加载?

转载 作者:行者123 更新时间:2023-11-28 06:19:13 26 4
gpt4 key购买 nike

我正在尝试保存我快速连接在一起的一系列声音,然后加载它们。但是,所有数据都已正确保存,但是当我尝试加载它时,数据所拥有的所有属性都不再存在,但它仍然将数据视为存在,只是没有保存时​​的任何属性。我很困惑为什么会这样

  struct saveSound{
static func save(newSound: mergedSound = mergedSound()){
if newSound.soundName == "" || newSound.soundUrl == "" { print("no new data") ; return}
var sounds = loadSounds.getSounds()
sounds.append(newSound)
let archive = NSKeyedArchiver.archivedData(withRootObject: sounds)
for soun in sounds{

print(soun.soundName," - saved")
}
UserDefaults.standard.set(archive, forKey: "SavedSounds")
}
}
struct loadSounds {

static func getSounds() -> [mergedSound]{

var sounds = [mergedSound]()
var data = Data()
if UserDefaults.standard.object(forKey: "SavedSounds") as? Data != nil {
print("data exists")
data = UserDefaults.standard.object(forKey: "SavedSounds") as! Data
sounds = NSKeyedUnarchiver.unarchiveObject(with: data) as! [mergedSound]
for souns in sounds{
print(souns.soundName,sounds.count, " - loaded")
}

}
return sounds
}
}

最佳答案

您确定您的数据确实已保存吗?您是否查看了首选项 PLIST 文件以进行验证?您的日志语句没有实际验证此假设。

此外,您的 SoundNSCoding 是否兼容?您是否实现了归档/取消归档每个属性的协议(protocol)?如果不是(如果您声明合规性但不处理您的类的自定义属性),它们将永远不会被写入(或读取)并且您的未归档实例将具有默认值。

关于swift - 为什么我保存的用户数据无法快速正确加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44209614/

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