我有一个相当广泛的应用程序,我在其中存储了大量数据。CLLocation one,Arrays,CGPoints等等。有时需要在设备上保存所有这些变量,所以我使用UserDefaults。然而,经过一段时间切换ViewControllers并简单地使用这个应用程序(不断地改变数据=>不断地保存数据)之后,我就到了一切运行缓慢的地步。
现在,假设我有差不多3个二维数组,假设我想保存5个int到UserDefaults。
每次我更改其中一个变量时,我都会用相同的命令“更新”它:
UserDefaults.standard.set(data, forKey: "UDdata").
所以每次我想更改数据时,我都会通过那个特定的注释来更改它。我想每次我这样做的时候,我都应该以某种方式去掉之前的UDdata键的数据,然后用相同的键字符串设置它?关于那件事的资料将是有用的。提前谢谢
最佳答案
原因是您误用了Userdefaults。它们将存储一些小值,如用于检测首次启动、首选项等的标志。不要将数据存储在用户默认值中,只需尝试使用CoreData或SQLite。这也更容易使用。
核心数据:
https://www.raywenderlich.com/145809/getting-started-core-data-tutorial
SQLite公司:
https://www.raywenderlich.com/123579/sqlite-tutorial-swift
关于swift - 多次设置UserDefaults导致显示变慢,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46250241/