0

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

 MONTH
  DAY
   int, string, int

例子:

 5
  25
   10, text, 50

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

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

最好的方法是什么?

编辑

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

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

4

2 回答 2

0

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

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

看看 StackOverflow 上的其他问题(比如这个),这些问题描述了如何保存和加载NSDate对象,然后考虑如何在你的UITableViewController.

于 2012-05-26T13:02:09.123 回答
0

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

将 NSDictionary 保存到 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"];

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

于 2012-05-26T13:07:53.227 回答