iphone - 在 iPhone 中保存 session 数据

标签 iphone xcode ios4 nsuserdefaults

我想将数据存储在应用程序中的不同位置,以便应用程序中的对象可以访问这些数据。类似于 php 中的 session 或全局变量。我知道我可以使用 NSUserDefaults 但我不确定如何继续向它添加值然后访问它。例如,首先我想存储登录期间使用的用户名,然后在第三个屏幕上,我想保存他从公司列表中选择的该用户的公司。然后在第五个屏幕上我想保存用户选择的位置。然后我有不同的功能供用户根据他的选择使用。由于我是新手,如果这是一个愚蠢的问题,我很抱歉,但任何人都可以帮助我了解如何存储和检索整个应用程序中可访问的多个数据。

最佳答案

在 iOS 设备上,您有多种存储数据的选项。以下是您可能会考虑的一些内容:

  1. 核心数据和 SQL 数据存储库或 XML 存储库。这基本上是苹果的设备数据库框架库,可供所有应用程序使用。它不是最简单的选项,但它允许您存储相当大量的不同数据,这些数据将在您的应用程序代码中可用。此外,只要您在应用程序关闭之前将数据保存到持久数据存储中,数据就会在应用程序启动之间保留。

  2. 属性列表。属性列表比 Core Data 更轻量级,您可能会发现它们更易于使用。它们允许将基本键值对存储和检索到持久属性列表文件中。因此,只要您在应用程序关闭之前将数据存储到属性列表文件中,您就还可以在应用程序启动之间保留数据。

  3. 将数据存储到文本文件中。我不确定这是否比属性列表有任何优势。

  4. 用户默认值。我不确定您是否可以在应用程序使用过程中轻松添加新类型的数据。这更多地用于提供默认应用程序设置的集合,然后允许用户在应用程序使用过程中对它们进行个性化设置。

  5. 内存中的单例对象。这可能是一种选择,但当然,一旦应用程序关闭,所有数据都会消失,除非以某种方式将其持久保存到永久数据存储中。

我确信除了这些之外还有其他选择。我有兴趣阅读有关它们的内容。我希望这会有所帮助。

关于iphone - 在 iPhone 中保存 session 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5479358/

相关文章:

ios - 在 xcode(5、5c、5s)上识别新 iPhone 型号

Objective-C – iOS 4 到 iOS 5 应用程序启动方式的区别?

iphone - iOS 5 中 Core Data 的奇怪警告

iphone - 获取 GDataFeedPhotoAlbum 返回错误的对象类型

iphone - 如何检查 UITextfield 中是否有文本?

iphone - 如何将 UIImageView 裁剪成自定义形状

iphone - 如何获取 iPhone 录制的视频大小?

iphone - 为 iPhone UILabel 创建文本描边

javascript - 我可以在 iPhone 上运行 javascript 运行时(如 v8)吗?

ios - 如何提交在iPhone OS 3和iPhone SDK 4上运行的应用程序版本?