退出时保存应用程序数据状态

2023-12-11

我有一个包含 24 个字符串的 NSMutableArray。

如果用户接到电话或退出应用程序,我需要保存这些数据。

我一直在研究很多例子,但由于某种原因似乎无法确定保存数据的最佳方法。

24 个字符串对应 24 个按钮及其状态。单击按钮时,它会显示该按钮标签相应的数组信息 (0 – 23)。我需要保留的是,如果单击了 10 个按钮并显示了它们的数据,那么如何/什么是保留这些数据以便在应用程序启动时可以重新加载的最佳方式?

我想我需要存储:

按钮标签, 按钮对应的Array值,
按钮状态(是否已点击且值是否显示)

我会在应用程序退出时存储这些数据,然后当应用程序再次启动时,我将确定该存储的数据是否存在,如果存在,则填充数组并检查按钮状态以确定它是否已显示,如果是,则设置相应地。然后,当加载该文件时,我将删除存储的数据(.DAT 文件,如果以这种方式存储)。这样,如果用户正常退出,下次启动时,它将开始一个新游戏。

我看过几个将数据存储到 .DAT 文件中的示例,但在实现此操作时遇到问题......并且想知道这是否是最好的方法。

对此的任何帮助或想法将不胜感激。

Geo…


你应该能够将它存储在NSUserDefaults

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

// Then to get the state back
NSMutableArray* buttonState = [[[NSUserDefaults standardUserDefaults] arrayForKey:@"buttonState"] mutableCopy];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

退出时保存应用程序数据状态 的相关文章

  • 您是否标记 UIView 或将它们保留为属性?

    这主要是一个风格问题 但自从我开始为 iPhone 编程以来 我一直很好奇其他人的想法是什么 当您的 iPhone 应用程序中有一个 UIView 并且需要在应用程序的其他位置访问它时 通常在视图控制器中的另一个函数中 您是否喜欢用整数标记
  • 检查定位服务是否开启

    我一直在对 CoreLocation 进行一些研究 最近 我遇到了一个在其他地方 但在 Objective C 和 iOS 8 中 已经讨论过的问题 我觉得问这个问题有点傻 但是如何在 iOS 9 上使用 swift 检查是否启用了位置服务
  • 如何使用 iPhone SDK 实现可滑动的图像堆栈(例如照片应用程序)?

    我想获取一堆图像 或者可能是一组用于下载图像的 URL 并以全屏方式显示它们 一次一个 使用 iPhone SDK 使用用户滑动来平滑地为堆栈中的下一个图像设置动画 Apple 的 Photo app 似乎可以做到这一点 此外 如果尚未检索
  • 是否有适用于 iPad 2 的条码扫描仪 SDK? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Objective-C 中比较 2 个字符串

    我写了以下代码 if depSelectedIndice gt 1 comSelectedIndice gt 1 NSLog depart elemet d depSelectedIndice NSLog depart elemet d c
  • Crashlytics dSYM 错误

    我已经在我的 mac 上安装了 crashlytics 并想用它来设置我的项目 xcode 我通过复制代码创建运行脚本构建阶段 第一次构建的结果是 PhaseScriptExecution Run Script Users danielbo
  • 本地化现有的 iOS 应用程序

    我不敢相信以前没有人问过这个问题 要么是我的编码实践太无组织性 要么是我没有使用正确的关键字 How can I localize an existing iOS app that does not use NSLocalizedStrin
  • NSString – 静态还是内联?有性能提升吗?

    如果我写的话会有任何性能提升吗 NSString helloStringWithName NSString name static NSString formatString Hello return NSString stringWith
  • XCode 无法将 iPhone 应用程序部署到 iPhone 3GS

    因此 我构建了我的 iPhone 应用程序 它在模拟器中运行良好 因此我想将其部署到我的 iPhone 上进行最后一轮测试 然后再使用我的分发配置文件进行公开 Beta 测试 我已经这样做过很多次了 从来没有出现过问题 然而 自从上次测试运
  • Objective-C – 拥有包含 TestFlight SDK 的 TestFlight 配置

    我已按照 TestFlight 的说明复制 发布 配置 我还使用 TestFlight SDK 从我的应用程序获取实时报告 通过这样做 我必须在我的应用程序中包含一些 TestFlight 代码 当然 我不想在我的应用程序的发布版本中包含此
  • 如何禁用 iPhone 邮件应用程序中的电话号码链接?

    我的公司正在发送数字电子邮件收据 但遇到了 iPhone Mail 检测数字数据并将其自动链接为电话号码的问题 我已经看到元标记应该可以解决 iPhone 上的 Mobil Safari 中的问题 但该技巧似乎不适用于 Mail 有谁知道如
  • 升级到 Xcode 4.3.1 后,自动设备配置选项消失了?

    自从升级到 Xcode 4 3 1 以来 这是我第一次发布版本 在查看我的配置文件是否是最新的时 我还注意到不再显示自动更新设备配置 即 它应该出现在该屏幕截图中的位置对我来说没有出现 如何将新设备添加到团队配置文件中 https stac
  • 虚拟乐器 iPhone 应用程序中的 VoiceOver 辅助功能?

    我收到盲人用户的评论 称我的一些声音和音乐相关应用程序只能在关闭 VoiceOver 的情况下使用 在 iOS 设备上启用 VoiceOver 辅助功能后 是否可以启用音乐键盘或鼓垫触摸区域 以便在点击键盘键或虚拟鼓组 等 时可以立即播放音
  • 以编程方式使用 Stack Overflow 进行身份验证

    我想在我的 iPhone 应用程序中添加赞成和反对投票 MyStacks http itunes apple com gb app mystacks id360030953 mt 8 为此 我需要能够使用 Stack Overflow 对用
  • ios水平居中约束问题?

    I am having hard time in learning constraints auto layout in iOS I have used any width any height I have a storyboard sc
  • 加载新控制器时,iPhone 横向模式切换到纵向模式

    我的应用程序在横向模式下正确启动并且运行良好 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrientation interfaceOrientation if interf
  • 如何在 iOS 8 中关闭两个 UIViewController?

    我正在使用 Objective C 开发 iPhone 应用程序 由于我需要一次关闭两个 UIViewController 所以我使用下面的代码 self presentingViewController presentingViewCon
  • PFQueryTableViewController 错误

    我正在遵循在线教程 使用 Parse 作为后端创建照片共享应用程序 我已经运行了两次教程 两次都从头开始创建应用程序 但在同一位置仍然出现相同的错误 我到处寻找解决方案 但仍然没有运气 我正在使用 PFQueryTableViewContr
  • 在发生更改事件时将货币格式重新应用到 UITextField

    我正在使用一个包含本地化货币值的 UITextField 我看过很多关于如何使用此功能的帖子 但我的问题是 如何在每次按键后将货币格式重新应用到 UITextField 我知道我可以通过以下方式设置和使用货币格式化程序 NSNumberFo
  • 在 UIScrollview 上显示缩略图的最佳方法是什么(从服务器下载)

    我想在 UIScrollview 如照片应用程序 上显示许多图像 作为缩略图 所有图像将从服务器下载 据我所知 有几种选择 1 通过创建 UIImageviews 然后将它们添加为主滚动视图上的子视图 2 通过子类化一个UIView类 然后

随机推荐

  • Android以编程方式获取SD卡的ID

    有什么方法可以以编程方式获取 Android 设备中当前 SD 卡的某些特定标识符 序列号 尝试这个 way 1 File input new File sys class mmc host mmc1 String cid director
  • 如何强制对系统类型使用自定义 UITypeEditor

    我有一个自定义 UITypeEditor 用于使用 propertygrid 与我的程序进行颜色选择 但如果我只公开 system drawing color 我似乎无法激活它 我需要用 CustomType 包装 Color 然后它才会调
  • 带有 locationListener 回调的 Android 服务

    我有一个安卓应用程序 根据用户当前的地理位置 我想在后台获取一些远程数据并存储它 我的实现是 在特定的时间间隔 警报会启动我的服务 Service 使用匿名类来查询当前位置并注册一个 locationListener 回调 在调用 onLo
  • 如何填充 BigQuery 中缺失的日期?

    这个问题与如何填充分区数据中缺失的日期和值 但由于该解决方案不适用于 BigQuery 因此我再次发布该问题 我有以下假设的表格 name date val A 01 01 2020 1 5 A 01 03 2020 2 A 01 06 2
  • AngularJS“localStorage.getItem”在$resource中为空

    我有一个有角的 resource用于登录和获取用户信息 登录将用户名和密码发送到服务器并获取不记名令牌 在里面success的函数User login令牌存储在localStorage In getEmail 我将令牌包含在用户电子邮件地址
  • Java 调用 Windows API GetShortPathName

    我想在我的 java 类中使用本机 windows api 函数 我感兴趣的函数是 GetShortPathName http msdn microsoft com en us library aa364989 28VS 85 29 asp
  • Android:在菜单中显示 EditText

    我目前正在开发 Android 的 mp3 库 问题是 我希望用户选择他想要添加的播放列表的名称 有用吗 因此 我在播放列表列表上创建了一个上下文菜单 允许用户在创建 删除 重命名这 3 个选项之间进行选择 我想要做的是 如果用户单击 创建
  • 防止 Spring Boot / Jackson 中的原语到字符串转换[重复]

    这个问题在这里已经有答案了 我们编写了一个Springboot Rest Service 它内部使用Jackson对Rest API的Json输入 输出进行序列化 反序列化 对于 API 输入 输出 我们不希望将原语与字符串进行类型转换 我
  • Python“join”函数类似于unix“join”

    我很好奇是否有像unix版本一样的内置python join函数 参见http linux about com library cmd blcmdl join htmhttps www man7 org linux man pages ma
  • 如何使用 Scala XML 返回空 NodeSeq?

    我正在使用不同的函数分段构建 XML 例如以下示例
  • 学说错误:未找到“Doc​​trine\ORM\EntityRepository”类

    我是 Doctrine 的新手 我正在遵循文档中的示例 当我创建 Repository 类 例如 UserRepository php 并尝试扩展 EntityRepository 类时 我收到以下错误消息 致命错误 在第 10 行的 C
  • 直接从浏览器打印,无需打印弹出窗口[重复]

    这个问题在这里已经有答案了 正如主题中所说 我必须为基于 Web 的应用程序创建一个功能 该功能将允许用户直接发送打印而不提示任何对话框 只需使打印 即单击并打印 变得简单 但不适合我 请建议什么是最好的选择以及我应该如何写它 技术 请建议
  • std::remove 不起作用

    我的测试程序的目标是擦除简单字符串向量中的单元格 如下所示 程序失败 分段错误 static void display std vector
  • 如何使用 PuPHPet 制作 Sequel Pro?

    我刚刚使用 Vagrant 和 Puphpet 设置了一个虚拟机 我知道我有 MySQL 因为我可以mysql在命令行中 我刚刚进行了基本安装 我不知道如何设置我的续集专业版才能访问 我在 Sequel Pro 应用程序上使用 标准 选项
  • Nestjs 到 Azure Windows 应用程序服务 - web.config 设置

    从昨天开始 我一直在尝试将 Nestjs api 部署到 azure 但没有成功 起初 我试图将其推送到 Linux 云服务计划 并能够从 vs code 部署它 在 azure 日志中看到该应用程序已成功启动 但它不会从我的端点返回任何数
  • 迭代简短的固定字符串列表[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 在 C 中迭代简短的文字字符串列表 其中所有元素都是预先知道的 的最有效 优雅 惯用的方法是什么 可以用向量来完成 for auto color std vector
  • 如何以编程方式为 UIButton 提供光泽外观?

    我想为某些 iPhone UIButtons 添加 3D 或光泽外观 但这样做时不使用 PNG 或可拉伸图像 我有很多不同形状和大小的按钮 其中有很多颜色是动态生成的 因此预渲染图像在我的情况下不可行 您将如何以编程方式在这些按钮上绘制光泽
  • 在 catch 处理程序中打印异常回溯的可靠方法?

    我想在我的 C 程序中启用异常的完整日志记录 我想做的就是在 seh catch handler 中捕获软件 硬件异常 然后打印异常的完整回溯 我主要对异常的起源感兴趣 调用堆栈对我来说就足够了 try difficult task exc
  • 如何使用 UIScrollView 实现 UIPageViewController?

    我拿了照片滚动来自苹果网站的示例 并尝试通过复制代码来实现我自己的专辑 现在UIScrollView不可见 我该如何让它出现 我所做的唯一代码更改是创建UIPageViewController 就我而言 这是一个UIViewControll
  • 退出时保存应用程序数据状态

    我有一个包含 24 个字符串的 NSMutableArray 如果用户接到电话或退出应用程序 我需要保存这些数据 我一直在研究很多例子 但由于某种原因似乎无法确定保存数据的最佳方法 24 个字符串对应 24 个按钮及其状态 单击按钮时 它会