gpt4 book ai didi

ios - 第二个数组项被删除

转载 作者:行者123 更新时间:2023-11-30 13:36:35 26 4
gpt4 key购买 nike

我正在从 CloudKit 中提取数据并将其放入数组中。

我有 3 个项目可以提取:星期一星期二星期三

我将它们放入 existingArray 中,但是当我运行应用程序时,我得到:["Monday", "Tuesday"],然后当它运行一秒钟时当我得到[“星期一”,“星期三”]时,我不明白为什么?

    for days in results! {
let nD = DayClass()
nD.dayOfTheWeek = days[“D”] as! String
let defaults = NSUserDefaults.standardUserDefaults()
if var existingArr = defaults.arrayForKey("D") as? [String] {
if existingArr.contains(days["D"] as! String) == false {
existingArr.append(nd.dayOfTheWeek)
}
} else {
defaults.setObject([nD.dayOfTheWeek], forKey: "D")
}
}

编辑:如果我在追加后添加 defaults.setObject([nD.dayOfTheWeek], forKey: "D") ,则 existingArray 变为 ["Monday ", "星期二"] 然后 ["星期二", "星期三"]。我无法让它仅将所有 3 个项目保留在 existingArray 中。

最佳答案

追加后,您需要将existingArr保存回默认值。大致如下:

for days in results! {
let nD = DayClass()
nD.dayOfTheWeek = days[“D”] as! String
let defaults = NSUserDefaults.standardUserDefaults()
if var existingArr = defaults.arrayForKey("D") as? [String] {
if existingArr.contains(days["D"] as! String) == false {
existingArr.append(nd.dayOfTheWeek)
defaults.setObject(existingArr, forKey: "D")
}
} else {
defaults.setObject([nD.dayOfTheWeek], forKey: "D")
}
}

关于ios - 第二个数组项被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36000373/

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