Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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
如何在iOS应用程序中存储数据_Ios_Objective C_Cocoa Touch - Fatal编程技术网

如何在iOS应用程序中存储数据

如何在iOS应用程序中存储数据,ios,objective-c,cocoa-touch,Ios,Objective C,Cocoa Touch,我不熟悉iOS编程,我正在努力找到保存持久数据的最佳方法。当我开发android应用程序时,我使用了首选项,并通过这种方式传递数据。我有一张地图和一个设置按钮。我希望人们能够单击“设置”按钮并打开新的viewcontroller,选择一些首选项,然后返回地图并查看生成的信息。我可以手动生成地图信息,但我不确定用户设置首选项的最佳方式。使用NSUserDefaults: 您可以这样做: NSString *data = @"Hello World"; [NSUserDefaults standa

我不熟悉iOS编程,我正在努力找到保存持久数据的最佳方法。当我开发android应用程序时,我使用了首选项,并通过这种方式传递数据。我有一张地图和一个设置按钮。我希望人们能够单击“设置”按钮并打开新的viewcontroller,选择一些首选项,然后返回地图并查看生成的信息。我可以手动生成地图信息,但我不确定用户设置首选项的最佳方式。

使用NSUserDefaults:

您可以这样做:

NSString *data = @"Hello World";

[NSUserDefaults standardUserDefaults] setObject: data forKey:CUSTOM_KEY]];
[[NSUserDefaults standardUserDefaults] synchronize];
使用默认值:

您可以这样做:

NSString *data = @"Hello World";

[NSUserDefaults standardUserDefaults] setObject: data forKey:CUSTOM_KEY]];
[[NSUserDefaults standardUserDefaults] synchronize];

也许使用核心数据?这就是我在项目中使用的内容。

是否可以使用核心数据?这就是我在项目中使用的方法。

所以对于这么小的东西,一定要使用
NSUserDefaults
。因为当你的应用开始扩展到更大的时候,你需要开始寻找一个实际的数据库。您的两个主要选项是sqlite3或核心数据。他们都有不同的优势,但都能胜任。这取决于您是否更熟悉SQL,是否更习惯使用SQL。

因此,对于这么小的东西,一定要使用
NSUserDefaults
。因为当你的应用开始扩展到更大的时候,你需要开始寻找一个实际的数据库。您的两个主要选项是sqlite3或核心数据。他们都有不同的优势,但都能胜任。这取决于您是否更熟悉SQL,是否更习惯使用SQL。

有很多方法可以存储用户的持久数据或临时数据。其中一些我计算如下:

  • SQLite数据库
  • 核心数据
  • 用户默认值
  • 文件管理器
  • 钥匙链

尽管存在问题,但您可以使用它们中的任何一种。

有很多方法可以存储用户持久或临时数据。其中一些我计算如下:

  • SQLite数据库
  • 核心数据
  • 用户默认值
  • 文件管理器
  • 钥匙链

尽管存在此问题,但您可以使用其中任何一个。

核心数据用于一些首选项?我认为这不是一个好主意。@rmaddy很好的观点,对于这样的东西,NSUserDefaults将是最好的主意,但如果应用程序变得更大,那么我会选择核心数据。核心数据用于一些首选项?我认为这不是一个好主意。@rmaddy的观点很好,对于这样的东西,NSUserDefaults将是最好的主意,但如果应用程序变得更大,那么我会选择核心数据。不要忘记,当你认为它是时,它可能不会被写出来;添加
[[NSUserDefaults standardUserDefaults]同步]
是一个很好的做法。我研究了NSUserDefaults,这似乎是处理如此少量数据的最佳方法。我真的只需要记录一个日期和3个复选框。不要忘记,当你认为它是的时候,它可能不会被写出来;添加
[[NSUserDefaults standardUserDefaults]同步]
是一个很好的做法。我研究了NSUserDefaults,这似乎是处理如此少量数据的最佳方法。我只需要记录一个日期和3个复选框。我查看了NSUserDefaults,这似乎是处理如此少量数据的最佳方法。我只需要记录一个日期和3个复选框。我查看了NSUserDefaults,这似乎是处理如此少量数据的最佳方法。我真的只需要记录一个日期和3个复选框。