gpt4 book ai didi

swift - 为什么如果让 Swift Xcode 10.1 中的代码抛出线程 1 : signal SIGABART

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

Swift Xcode 10.1 中的这段代码不断抛出 Thread 1: signal SIGABART 错误,我不知道为什么。

    let item = UserDefaults.standard.object(forKey: "To Does")
var arrayItem:[String]
print("about to check")
if let arrayItem2 = item as! [String]?{

arrayItem = arrayItem2
arrayItem.append(textInput.text!)
UserDefaults.standard.set(arrayItem, forKey: "To Does")
print(arrayItem)

}else{
UserDefaults.standard.set(textInput.text!, forKey: "To Does")
}
textInput.text = ""

最佳答案

切勿对 if let 使用强制转换。切勿强制转换为可选。都没有任何意义。

即使您解决了这个问题,您也会遇到问题。如果还没有 key ,则首先将字符串写入用户默认值。但是随后您尝试读取一个数组。那永远行不通。

简化您的代码并始终写入和读取数组。

var items = UserDefaults.standard.array(forKey: "To Does") as? [String] ?? []
items.append(textInput.text!)
UserDefaults.standard.set(items, forKey: "To Does")

关于swift - 为什么如果让 Swift Xcode 10.1 中的代码抛出线程 1 : signal SIGABART,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53423831/

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