【问题标题】:How to save this NSDictionary data to plist, and retrive it?如何将此 NSDictionary 数据保存到 plist 并检索它?
【发布时间】:2012-05-26 12:52:14
【问题描述】:

我有想要保存到 plist 的数据。 MONTH 和 DAY 是系统日期整数。我知道如何获得它们。

 MONTH
  DAY
   int, string, int

例子:

 5
  25
   10, text, 50

我有一个 UITableView,我必须以这种方式在其中导入数据:

如果系统月份是 3,则在 plist 中搜索键 3 并仅使用 3 月份的天数填充表。

最好的方法是什么?

编辑

年份并不重要。在表格中,它应该是月份的列表,按下时应该列出与特定月份相关的所有日期。并且每一天都应该有与特定日期相关的所有数据。

我对如何在 plist 中构造数据感到困惑。

【问题讨论】:

    标签: iphone arrays uitableview plist nsdictionary


    【解决方案1】:

    看起来这个帖子有一些关于将你的 NSDictionary 保存为 plist 的好信息:

    Save NSDictionary to plist

    至于在表格视图中显示您的结果,我对您如何组织 NSDictionary 感到有些困惑。一般来说,你应该这样做:

    NSArray *arrayDataForMonthZero = [[NSArray alloc] initWithObjects:@"Your",@"Objects",@"For",@"Section",@"Zero"];
    NSArray *arrayDataForMonthOne = [[NSArray alloc] initWithObjects:@"Your",@"Objects",@"For",@"Section",@"One"];
    ...
    NSArray *arrayDataForMonthEleven = [[NSArray alloc] initWithObjects:@"Your",@"Objects",@"For",@"Section",@"Eleven"];
    
    NSDictionary *tableData = [[NSDictionary alloc] initWithObjectsAndKeys:arrayDataForMonthZero,@"0",arrayDataForMonthOne,@"1",...,arrayDataForMonthEleven,@"11"];
    

    然后,创建一个指向要使用的数据集的 NSArray 指针。因此,如果您想显示第三部分,只需执行以下操作:

    NSArray *tableDataPtr = [tableData objectAtIndex:@"3"];
    

    这将选择您刚刚创建的与第三个月相关的所有数据。向表视图委托和数据源提供命令时使用此对象。

    【讨论】:

    • 您应该能够查看我的示例并从那里推断出结构。您将嵌套多个 NSDictionaries。第一个将具有与月份匹配的键。这将返回一个 NSDictionary,其中的键与日期匹配。最后,这将返回您想要与该特定月份和日期关联的数据。
    【解决方案2】:

    NSDate 是需要开发人员干预才能归档(或代码)到 plist 文件中的 Objective C 对象之一。

    而且您的问题仍然如此广泛,我不能 100% 确定在您的具体情况下最好的方法是什么。您想在一个单元格中显示“2012”,然后在下面的缩进单元格中显示“5”吗?在这种情况下,您可能希望将 plist 中的日期加载到具有 NSDate 属性的自定义对象中。或者,您可能希望将单独的“年”和“月”值与单个对象关联,该对象列出了多个表格视图单元格。或者,您可能希望将所有这些内容按日期列在一个自定义表格视图单元格中。

    查看 StackOverflow (like this one) 上的其他问题,这些问题描述了如何保存和加载 NSDate 对象,然后考虑如何在您的 UITableViewController 中使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      • 2013-12-15
      相关资源
      最近更新 更多