-2

我一直在寻找如何做到这一点,但没有运气。我如何根据今天的日期检索存储在 plist 文件中的值,该日期是根据 plist 文件中的密钥进行检查的。

在此处输入图像描述

例如,今天的日期是 2013-05-10,代码应该输出 5 到控制台(plist 文件中的相应键。或者例如,今天的日期是 2013-05-13,代码应该输出 6 到控制台(plist 文件中的对应键。

这是我将 plist 文件加载到字典中的代码:

NSString *something = [[NSBundle mainBundle]pathForResource:@"Calender" ofType:@"plist"];
_calender = [[NSDictionary alloc]initWithContentsOfFile:something];
NSDate *eventDate = [_calender objectForKey:@"date"];
4

1 回答 1

2

您的字典有键的日期字符串,相应的值是字符串。

您加载字典的代码很好。您缺少的部分是从当前日期生成正确的密钥。

NSDateFormatter *df = [[NSDateFormatter alloc] init];
// Use this special locale when generating fixed format date strings
NSLocale *posix = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[df setLocale:posix];
[df setDateFormat:@"yyyy-MM-dd"];
NSString *dateString = [df stringFromDate:[NSDate date]];

现在您可以将dateString其用作字典的键来查找值:

NSString *dateValue = _calender[dateString]; // using your misspelling of calendar

dateValue将为@"5",@"6"或 nil。如果nil今天的日期不在字典中。

于 2013-05-10T04:50:29.293 回答