Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 在IOS中创建持久性阵列的最佳实践是什么?_Swift_Xcode_Swift3 - Fatal编程技术网

Swift 在IOS中创建持久性阵列的最佳实践是什么?

Swift 在IOS中创建持久性阵列的最佳实践是什么?,swift,xcode,swift3,Swift,Xcode,Swift3,通常在Android中,我在.xml文件中使用标记,并在代码中按其名称引用它 在IOS中创建一个数组的最佳实践是什么?我可以在多个视图中使用该数组,而无需反复创建该数组?根据要在数组中存储的值,以及如果需要写入数组并在应用程序运行之间保持该数组,则有几种方法 将数组存储在UserDefaults中。您可以从每个ViewController读取/写入数据,即使用户退出应用程序,您的数据也将保持不变 将其存储在文件中。我并不推荐这个选项,除非您有很多数据要存储,可以很容易地表示为String/NSD

通常在
Android
中,我在
.xml
文件中使用
标记,并在代码中按其名称引用它


IOS
中创建一个数组的最佳实践是什么?我可以在多个视图中使用该数组,而无需反复创建该数组?

根据要在数组中存储的值,以及如果需要写入数组并在应用程序运行之间保持该数组,则有几种方法

  • 将数组存储在UserDefaults中。您可以从每个ViewController读取/写入数据,即使用户退出应用程序,您的数据也将保持不变
  • 将其存储在文件中。我并不推荐这个选项,除非您有很多数据要存储,可以很容易地表示为String/NSData
  • 将数据存储在共享的单例变量中。此方法仅适用于不想写入数组或不需要在运行之间持久化数组的情况
  • 使用数据库框架(CoreData或Realm)。仅当您有非常复杂的数据时才建议这样做,但因为您只提到了一个数组,所以您不应该这样做

  • 根据您问题中提供的信息量,我建议使用UserDefaults,在UserDefaults中处理数据非常容易,应该足以完成您的任务。

    这些值对所有用户都是固定的,不会更改。在这种情况下,将数组存储为单例(静态变量)可能比UserDefaults更容易。