iOS:保存双重选择器的设置(数据持久性)

2024-04-01

所以我有一个双重选择器,用户可以将每个轮子设置为他们想要的,然后按下一个按钮来显示他们的选择。简单干净,但我想存储这些数据以供以后使用,以便在关闭应用程序并再次重新打开它后它不会消失。现在,我知道如何使用 datePicker 来做到这一点,但不知道如何使用 doublePicker 。所以我的问题是如何调整我的代码,将 datePickers 信息保存和检索到 doublePicker 中?

这是我的 datePicker 代码:

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

// Pulling the date out of my picker
NSDate *selectedDate = [self.datePicker date];

[defaults setObject:selectedDate forKey:@"DatePickerViewController.selectedDate"];

然后再次检索它:

    - (void)viewDidLoad
{
    [super viewDidLoad];

    // Get the date. I'm going to use a little shorthand instead of creating 
    // a variable for the instance of `NSUserDefaults`.
    NSDate *storedDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"DatePickerViewController.selectedDate"];

    // Setting the date on the date picker. I'm passing `NO` to `animated:` 
    // because I'm performing this before the view is on screen, but after
    // it has been loaded.
    [self.datePicker setDate:storedDate animated:NO];
}

任何帮助将不胜感激,谢谢:)


In your UIPickerViewDelegate:

        - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    [defaults setInteger:row forKey:[NSString stringWithFormat:@"DoublePickerViewController.%i", component]];
}

要取出数据:

        for (int i = 0; i < doublePicker.numberOfComponents; i++) {
        NSInteger *storedInteger = [[NSUserDefaults standardUserDefaults] integerForKey:[NSString stringWithFormat:@"DoublePickerViewController.%i", i];
[doublePicker selectRow:storedInteger inComponent:i animated:NO];
    }

用于存储多个值:

In your UIPickerViewDelegate:

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component

{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    NSArray *oldArray = [defaults arrayForKey:[NSString      stringWithFormat:@"DoublePickerViewController.%i", component]];

    //Make a mutable version so we can change it
    NSMutableArray *newArray = [oldArray mutableCopy];
    if (!newArray) {
        newArray = [NSMutableArray array];
    }
    //Add The Latest Row To The end of the array. We wrap it in an NSNumber so it can be in an array
    [newArray addObject:[NSNumber numberWithInteger:row]];

    //If you want to have a limit on the amount of values that can be stored then use this
    int maxValues = 5;
    if (newArray.count >= maxValues) {
        //Remove the oldest object
        [newArray removeObjectAtIndex:0];
    }
    [defaults setObject:newArray forKey:[NSString      stringWithFormat:@"DoublePickerViewController.%i", component]];
}

要取出数据:

        for (int i = 0; i < doublePicker.numberOfComponents; i++) {
        NSArray *storedIntegers = [[NSUserDefaults standardUserDefaults] arrayForKey:   [NSString stringWithFormat:@"DoublePickerViewController.%i", i];
        //I don't know what values you want, but to get an int out of the array:
        //int integer = [(NSNumber *)[storedIntegers objectAtIndex:0] intValue];
        //And to set the row for a component:
        //[doublePicker selectRow:storedInteger inComponent:i animated:NO];
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS:保存双重选择器的设置(数据持久性) 的相关文章

  • 无法识别的选择器调用静态 iOS 库中的类别方法

    我正在使用一些第三方软件来帮助使用 Xcode 4 3 2 编写 iPad 应用程序 该软件是开源的 通常经过设置 因此其代码将与开发人员为应用程序编写的任何代码一起编译 因为我在很多地方使用该软件 所以我决定将其构建为 iOS 模拟器的静
  • iOS 键盘显示后分屏宽度

    我刚刚开始研究 Cordova 应用程序对分屏多任务处理的支持 到目前为止 该应用程序在模拟器中的 iPad 上显示和调整大小都很好 但是当我单击编辑字段并显示软件键盘时 100 宽度的值开始返回整个屏幕 而不是给出的窗口 初始显示 到目前
  • GoogleSignIn ios 附加到谷歌表格

    我目前正在开发一个 iOS 应用程序 该应用程序需要写入登录用户拥有的 Google 工作表 要登录我正在使用的用户GoogleSignInpod 并附加到我正在使用的谷歌表GoogleAPIClientForREST Sheets pod
  • 如何像谷歌日历一样将单元格的内容滚动到表格视图中的另一个单元格中?

    我希望用户界面像谷歌日历那样进入桌面视图 它在不同的行中显示相同的日期事件 但是当您向上或向下滚动时 左侧的日期也会向上向下滚动 Can you please help me how to achieve this Please take
  • ArraySlice 中的 Swift [重复]

    这个问题在这里已经有答案了 在数组上使用 prefix 方法后 我得到了所谓的 arraySlice 我怎样才能将其转换为数组 我试图从 FacebookGraphApi 获取 Ints 然后请求前 3 个 前缀 3 并尝试将它们添加到新数
  • 奇怪的父/子NSManagedObjectContext现象

    我创建了两个这样的上下文 create writer MOC privateWriterContext NSManagedObjectContext alloc initWithConcurrencyType NSPrivateQueueC
  • 如何在 NSDate 变量中仅设置时间?

    我有 NSDate 变量 只想更改时间 不应更改日期 是否可以 例如 用户在 DatePicker 日期中选择日期间隔 如果是开始日期 我想将时间设置为 00 00 00 如果是结束日期 我将时间设置为 23 59 59 感谢你的帮助 问候
  • 当自定义子视图处理触摸时防止 UITableView 滚动

    在我的 iOS 应用程序中 有一个 UITableView 其中一个单元格中包含一个自定义子视图 该单元格是一个交互式视图 它处理触摸事件 touchesBegan touchesEnded touchesMoved 以更新自身 问题是 当
  • 删除具有estimatedItemSize 的项目时 UICollectionView 单元格大小会调整

    我有一个简单的项目 其中的故事板仅包含一个UICollectionViewController 使用 Xcode 7 1 1 为 iOS 9 1 构建 class ViewController UICollectionViewControl
  • 检查系统时间是自动还是用户设置

    我需要在当前的项目中设置用户证明时间 我围绕这个问题发现了很多不同的问题 但似乎没有一个问题有我正在寻找的答案 这些是我到目前为止看过的问题 XCODE 如何从设备获取 验证准确的时间戳 https stackoverflow com qu
  • NSOperation 中委托的使用

    我正在尝试利用CLLocationManager in an NSOperation 作为其中的一部分 我需要能够startUpdatingLocation然后等到收到 CLLocation 后才完成操作 目前我已经完成了以下操作 但是委托
  • 在 UITextView 上添加具有自定义间距和文本的图像

    I want to add Image on text view and want proper spacing as shown in screenshot 我尝试在文本视图上添加图像 但在根据要求放置文本时遇到问题 请向我提供有关同样的
  • 如何更改便携式 xamarin ios 项目中的启动屏幕?

    我正在使用便携式 xamarin 形式 其中项目是 IOS 项目 在 IOS 项目中 我想创建闪屏 我在 ios 项目属性中添加了 Iphone 启动图像和 iPad 启动图像 当我运行该应用程序时 它显示默认的启动屏幕 我还尝试从 inf
  • Swift:无法为“[UIViewController]”类型的值添加下标?

    我试图弄清楚如何在 Xcode 7 iOS9 上的 Swift 中解决此问题 并且我也遇到此错误 无法为 UIViewController 类型的值添加下标 索引类型为 Int 任何建议表示赞赏 谢谢 My code func indexP
  • 你如何在react-native中实现捏合缩放?

    我一直在研究 PanResponder 我当前的工作假设是 我将检测是否有两个触摸正在向外移动 如果是 则增加元素大小onPanResponderMove功能 这似乎是一种混乱的方法 有没有更顺畅的方法呢 如果您只需要简单的捏缩放功能 只需
  • 由于 2.23 导致 iOS 应用程序被拒绝 - iOS 数据存储指南

    以下是 Apple 关于拒绝的消息 2 23 应用程序必须遵循 iOS 数据存储指南 否则将被拒绝 2 23 详情 在启动和内容下载时 您的应用程序会存储 6 5 MB 这并不意味着 遵守 iOS 数据存储指南 下一步 请验证只有用户使用您
  • iOS 使用 NSColor 与 UIColor?

    有什么区别UIColor and NSColor 什么时候会使用每一种 我碰到NSColor在试图弄清楚的同时UIColor用于 iOS 中的属性字符串 我理解使用UIColor对于 UIKit 等 但我不认为NSColor对于这种事情确实
  • 使用 nib 作为带有 nib 类的表节标题

    我想创建一个加载 nib 文件并将其设置为标题 UIView 的节标题 这个 nib 文件还将有一个关联的类 其中插座和操作连接到 因此我想像平常一样使用 nib 加载该类 我在网上搜索并找到了几个类似的答案 但我找不到任何适合我的答案 经
  • 进入后台时 Alamofire 请求卡住?

    我正在使用 Alamofire 调用 Web 服务 该服务需要相当长的时间才能加载 如果应用程序进入后台 当我返回应用程序时 我会被加载程序卡住 我想这是因为调用永远不会向我的完成处理程序返回任何内容 我该如何解决这个问题 您可以使用后台抓
  • iOS WKWebView 处理文件下载

    我面临以下问题 在 Web 界面中 文件下载是通过锚标记触发的 如下所示 a href bla blabla a 虽然 Safari 浏览器可以处理此请求并打开一个对话框来处理文件 但 WKWebView 将此视为普通链接并且不对其执行任何

随机推荐

  • FILTER_VALIDATE_URL 是否过于严格?

    In PHP filter var www example com FILTER VALIDATE URL 回报false 它是否正确 不是www example com有效的 URL 或协议 http ftp 等 需要在 URL 中明确说
  • 将 C# 单元测试名称转换为英文(testdox 样式)

    我有一大堆用 MbUnit 编写的单元测试 我想从测试名称生成简单的英语句子 这里介绍一下这个概念 http dannorth net introducing bdd http dannorth net introducing bdd 这是
  • 基于类的vue组件的标签名称是什么

    参考下面的链接 我们可以使用用 TypeScript 编写的基于类的 vue 组件 使用这些自定义组件的正确方法是什么 例如 下面的 Es5 代码定义了一个可以在其他组件模板中使用的组件 例如
  • 带分组的 WPF DataGrid 虚拟化

    我正在使用来自 CodePlex 的 WPF DataGrid http wpf codeplex com 我需要让虚拟化与分组一起使用 This question https stackoverflow com questions 110
  • 获取页面事件、选项卡关闭、失去焦点?

    问题是如何在特定选项卡上查询此类事件 用户已加载具有特定 URL 的选项卡 例如 google com 我认为最简单的方法是使用 chrome tabs query 然后您可以获取带有 url 的活动选项卡 用户已关闭选项卡 该选项卡处于非
  • 是否有任何选项可以禁用开火服务器上的群聊消息历史记录?

    我一直在创造group chat application 在实现群聊功能时我面临问题 当我每次join the room open fire sends last two days messages 这是我每次加入房间时收到的帖子消息
  • 在页面加载时显示 AJAX 加载器

    你好 我对 javascript 很陌生 不知道如何使用它 我希望 AJAX 加载器在页面加载时出现 加载完成后我希望加载器消失 谁能给我发一个代码吗 通常 这是通过在内容顶部显示 隐藏一两个 div 来完成的 您可以从以下位置获取精美的加
  • Sharepoint 2013。使用 JavaScript 的多值查找字段

    有没有办法使用 JavaScript 客户端对象模型编辑多值查找字段 我需要删除一个或多个查找值 并最终添加一个或多个值 我到处搜索 我阅读MSDN文档 我也看看我的桌子底下 Thanks Multiple Column Lookup值表示
  • Flutter:在启​​动时执行函数 - 等待 HTTP 响应解析器提取图像 URL

    我正在开发一个 Flutter 应用程序 我需要从 API 获取几乎所有内容 包括图像 颜色 文本等 所以我应该做的是构建应用程序的主要结构 然后用 API 提供的信息填充所有内容 当应用程序开始获取响应并初始化变量以在应用程序中使用它们时
  • C# 和 C++ 类继承混合

    我有一堆有趣的程序集想要组合在一起 通用汇编 C 或 C CLI public class MyBase public void MethodA private void MethodB protected virtual MethodC
  • 使用 LINQ 从文件中读取文本数据

    我有以下文本文件 37 44 60 67 15 94 45 02 44 如何使用 LINQ 从此文件中读取所有数字并将它们保存到二维数组中 我所做的就是创建一个简单的数组 其中每行中包含所有第一个值 在这种情况下使用 LINQ 是个好主意还
  • 如何在 c 中的变量中仅存储文件的结束位

    我的代码如下 include
  • Google API key V2 RuntimeException [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我创建了一个示例 Android 应用程序 用于使用 google api key v2 访问 google 地图 当我
  • 在 Haskell 中如何将字符串列表相乘? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试编写一个函数 该函数接受字符串列表和 Int 并返回其中每个字符串都是 int 次的字符串列表 那是 duplicate S
  • Pandas - 根据行值生成唯一 ID

    我想为用户生成一个基于整数的唯一 ID 在我的 df 中 假设我有 index first last dob 0 peter jones 20000101 1 john doe 19870105 2 adam smith 19441212
  • 带 Java 客户端的键值数据库

    我基本上想在磁盘上存储一个哈希表 以便以后可以查询它 我的程序是用Java 编写的 哈希表从字符串映射到列表 那里有很多键值存储 但经过大量研究 阅读后 尚不清楚哪一个最适合我的目的 以下是一些对我来说很重要的事情 简单的键值存储 允许您使
  • 将带有各种分隔符的地址拆分为街道地址、城市、州、邮政编码和国家/地区

    我的数据在 Excel 中 我有几张数据 其中地址始终位于每张数据的同一列中 地址格式的示例包括 1155 15th Street NW Suite 600 华盛顿特区 20005 美国4600 Empire Blvd 200 达勒姆 NC
  • 如何存储单个浏览器选项卡/窗口的状态?

    我正在开发一个单页 jQuery 和 Backbone js Web 应用程序 后端是 JBoss 6 应用程序服务器 到目前为止 我们的结构如下 只有一个servlet 前端控制器 来自 JavaScript 客户端的每个请求都会经过这里
  • 在 Emacs 中如何重新映射键?

    我正在寻找一种方法 可以在 emacs 窗口中切换控制键和大写锁定键 但是当我转到任何其他程序 例如 Firefox 时 我希望能够在新窗口中使用普通控制按钮 选项卡等 附加信息 我正在使用 Ubuntu 但所有系统的答案都很好 因为其他人
  • iOS:保存双重选择器的设置(数据持久性)

    所以我有一个双重选择器 用户可以将每个轮子设置为他们想要的 然后按下一个按钮来显示他们的选择 简单干净 但我想存储这些数据以供以后使用 以便在关闭应用程序并再次重新打开它后它不会消失 现在 我知道如何使用 datePicker 来做到这一点