在 iPhone 中保存会话数据

2024-05-21

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


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

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

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

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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 iPhone 中保存会话数据 的相关文章

随机推荐

  • ODBC 链接表中突然开始出现写入冲突消息

    我有一个 mySQL 数据库 用于跟踪我们的项目并驱动我们的网站显示其信息 为了方便更新数据库 我设置了一个使用 ODBC 连接 MySQL ODBC 5 1 来编辑数据的访问数据库 过去几个月一直运行良好 没有出现任何问题 然而 昨晚用户
  • Spring boot + Spring Data JPA + Atomikos + 多数据库配置

    使用此配置 MainConfig java import javax transaction TransactionManager import javax transaction UserTransaction import org sp
  • Django send_mail SMTPSenderRefused 530 与 gmail

    一段时间以来 我一直在尝试使用 Django 从我正在开发的网站接收电子邮件 现在 我还没有部署它 并且我正在使用Django开发服务器 我不知道这是否会影响它 这是我的 settings py 配置 EMAIL BACKEND djang
  • 按值和键对哈希进行排序(按顺序)

    我正在寻找一种很好的方法来在 Perl 中先按值排序 然后再按键排序 Example my userids williams gt Marketing smith gt Research johnson gt Research jones
  • ggplot geom_bar - 条形太宽

    对于这个非信息性的标题 我感到很抱歉 gt y read csv textConnection scan sep n what raw org art type length 191 gk Finish short 4 147 ik Att
  • Django 的 request.FILES 出现 UnicodeDecodeError

    我在视图调用中有以下代码 def view request body u for filename f in request FILES items body body Filename filename n f read n 在某些情况下
  • 使react-leaflet能够离线使用

    我一直在使用反应传单 https github com PaulLeCam react leaflet图书馆 到目前为止运作良好 现在我希望网站预加载尽可能多的图块 以便网络应用程序 也是 PWA 可以在没有互联网的情况下使用 我找到了一些
  • 截图显示黑色

    我正在拍摄快照并创建缩略图 然后共享此图像 但缩略图显示全黑 我使用了以下代码 Bitmap bitmap View v1 v getRootView v1 setDrawingCacheEnabled true bitmap Bitmap
  • 全局使用和 .NET Standard 2.0

    我最近意识到我可以使用 C 10 功能文件范围的命名空间在 NET Standard 2 0 项目中也可以通过设置
  • SQL。 SP 或函数应计算周五的下一个日期

    我需要编写一个存储过程来返回给定日期的下周五日期 例如 如果日期是 05 12 2011 那么它应该返回下周五日期 05 13 2011 如果您通过 05 16 2011 那么它应该返回日期是 5 20 2011 星期五 如果您将星期五作为
  • iframe 重新加载按钮

    我浏览了很多网站 但似乎没有一个能正常工作 或者我不明白它们 我想要一个刷新某个 iframe 的简单按钮 该按钮将位于父页面上 并且 iframe 名称为 Right 有很多方法可以做到这一点 假设这个iframe markup 我们可以
  • 如何创建名称中带有正斜杠的标签

    当我已经有了类似的标签时 有什么方法可以创建名称中带有正斜杠的 git 标签吗 假设我有 1 16 0 标签 并且我想创建 1 16 0 1 0 0 标签 git tag 1 16 0 1 0 0 error refs tags 1 16
  • 当视口设置为 user-scalable=no 时,iOS/移动 Safari 仍然会缩放?检查辅助功能设置!

    这个特定的 Mobile Safari 看似不可能且未记录 问题让我今天坚持了很长一段时间 当我弄清楚它时 我正要在这里发布一个有关它的问题 问题 虽然我设置了我的 iPad 网络应用程序仍然允许手动缩放 在浏览器中捏合 但只能在我的 iP
  • C++ 将联合强制转换为其成员类型之一

    以下对我来说似乎完全符合逻辑 但不是有效的 C 联合不能隐式转换为其成员类型之一 有人知道为什么不这样做的充分理由吗 union u int i char c function f int i int main u v v i 6 f v
  • HTML colorpicker 发生变化时如何获取新值?

    我正在开发一个需要更改 HTML 颜色的网络应用程序canvas基于的价值观colorpicker 我有一个colorpicker在我需要获取的 HTML 中value从每次更新开始
  • Composer [UnexpectedValueException] 尝试使用 Composer 安装 github 项目时会出现错误

    我尝试使用 Composer 安装 Github 项目并收到以下错误 作曲家 UnexpectedValueException 您的 github com 的 Github oauth 令牌包含无效字符 谁能解释我需要做什么来纠正这个错误
  • 使用 UPI url 调用 PSP 应用程序

    我正在尝试创建一个商家应用程序 它将根据 NPCI 的指南生成一个 url 此 url 将作为意图共享 并且 PSP 应用程序 任何注册的银行应用程序 应该能够侦听该 url 并被调用 我已经形成了这样的网址 upi pay pa icic
  • 如何在 Perl 中获取本周的日期?

    我有以下循环来计算本周的日期并将其打印出来 它有效 但我正在考虑 Perl 中日期 时间可能性的数量 并且想听听您对是否有更好的方法的意见 这是我写的代码 usr bin env perl use warnings use strict u
  • java数学中的组合“N选择R”?

    java库中是否有内置方法可以为任何N R计算 N选择R 公式 实际上很容易计算N choose K甚至不需要计算阶乘 我们知道 公式为 N choose K is N N K K 因此 公式为 N choose K 1 is N N N
  • 在 iPhone 中保存会话数据

    我想将数据存储在应用程序中的不同点 以便应用程序中的对象可以访问这些数据 类似于 php 中的 session 或全局变量 我知道我可以使用 NSUserDefaults 但我不确定如何继续向它添加值然后访问它 例如 首先我想存储登录期间使