如何在iOS应用中存储每个会话的临时值/对象

时间:2014-06-19 07:56:23

标签: ios storage temporary-objects

所以我有一个我正在研究的混合电子商务iOS应用程序,我需要在结帐过程中暂时存储多个字符串/数组值。如果用户离开结帐过程,我希望删除或重置这些值。否则,在结账过程中的一段时间内,我希望能够检索这些值并使用它们。

实现这一目标的最佳方法是什么?核心数据似乎比我正在寻找的更持久,但它可能是正确的方法。我总是可以在那里存储东西并在用户离开结账过程时删除它,但我想知道是否有更好的方法来完成它,基本上。

关于混合部分的说明:

  • 当用户点击“结帐”时,我们启动WebView并在那里继续结帐流程。
  • 我有一个数据检索类(通过JS桥实例化)来检索一些数据,但是这个类基本上在检索完数据后就会内存不足
  • 在数据检索类内存不足后,我需要在多个独立的部分中从javascript访问所述数据

因此,考虑到这一点,我在哪里存储数据检索类检索的数据的最佳位置?当然,示例代码总是受欢迎:)。谢谢!

1 个答案:

答案 0 :(得分:2)

如果您从WebView检索的数据是键值对,则无需为此设置Core数据。您只需使用NSUserDefaults来存储数据即可。您可以使用NSUserDefaults保存与应用程序或用户数据相关的设置和属性。这些值将保存在整个应用程序范围内,但您可以在Checkout过程中读取这些值后重置这些值。

以下是使用NSUserDefaults保存数据的方法 -

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:firstName forKey:@"firstName"];
[defaults synchronize];

您可以使用以下代码检索数据 -

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *firstName = [defaults objectForKey:@"firstName"];