- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
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/
在模拟器上点击我的应用程序中的电子邮件按钮时出现以下错误。我使用与之前应用程序相同的代码,因此代码一定没问题 int main(int argc, char *argv[]) @autorelease
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visi
Swift Xcode 10.1 中的这段代码不断抛出 Thread 1: signal SIGABART 错误,我不知道为什么。 let item = UserDefaults.standa
在标记为重复之前,请考虑一下我已经搜索了网络和 StackOverflow,但没有找到针对此特定问题的任何解决方案(因为有关此错误的所有问题都针对应用程序,而不是游戏)。 我正在制作一个非常基本的太空
我在我的项目中使用了 linphone 库。它在我的设备上运行良好。但在客户端的 iPhone 4s 版本 8.4.1 中,它一直在崩溃...... 我在符号化后找到了这个崩溃日志 0 libsy
我是一名优秀的程序员,十分优秀!